this.LTK || function (t, e) {
    var i = t.LTK = {version: "2.1"}, n = {}, a = function (t) {
        if (t.indexOf("/") > 0 || (t = t.replace(/\./g, "/")), n.hasOwnProperty(t))return n[t];
        var o = i[t];
        if ("function" == typeof o) {
            n[t] = function () {
            };
            var r = {exports: {}};
            o = o(a, r.exports, r), o === e && (o = r.exports)
        } else if (o === e)throw"LTK error: module " + t + " is not found";
        return i[t] = null, n[t] = o
    };
    i.require = i.use = t.require = a, t.define = function (t, e) {
        i[t] = e
    }
}(this), function (t, e) {
    function i(t) {
        var e, i, n = D[t] = {};
        for (t = t.split(/\s+/), e = 0, i = t.length; i > e; e++)n[t[e]] = !0;
        return n
    }

    function n(t, i, n) {
        if (n === e && 1 === t.nodeType) {
            var a = "data-" + i.replace(U, "-$1").toLowerCase();
            if (n = t.getAttribute(a), "string" == typeof n) {
                try {
                    n = "true" === n ? !0 : "false" === n ? !1 : "null" === n ? null : j.isNumeric(n) ? parseFloat(n) : R.test(n) ? j.parseJSON(n) : n
                } catch (o) {
                }
                j.data(t, i, n)
            } else n = e
        }
        return n
    }

    function a(t) {
        for (var e in t)if (("data" !== e || !j.isEmptyObject(t[e])) && "toJSON" !== e)return !1;
        return !0
    }

    function o(t, e, i) {
        var n = e + "defer", a = e + "queue", o = e + "mark", r = j._data(t, n);
        !r || "queue" !== i && j._data(t, a) || "mark" !== i && j._data(t, o) || setTimeout(function () {
            j._data(t, a) || j._data(t, o) || (j.removeData(t, n, !0), r.fire())
        }, 0)
    }

    function r() {
        return !1
    }

    function s() {
        return !0
    }

    function l(t) {
        return !t || !t.parentNode || 11 === t.parentNode.nodeType
    }

    function c(t, e, i) {
        if (e = e || 0, j.isFunction(e))return j.grep(t, function (t, n) {
            var a = !!e.call(t, n, t);
            return a === i
        });
        if (e.nodeType)return j.grep(t, function (t, n) {
            return t === e === i
        });
        if ("string" == typeof e) {
            var n = j.grep(t, function (t) {
                return 1 === t.nodeType
            });
            if (ut.test(e))return j.filter(e, n, !i);
            e = j.filter(e, n)
        }
        return j.grep(t, function (t, n) {
            return j.inArray(t, e) >= 0 === i
        })
    }

    function d(t) {
        var e = mt.split("|"), i = t.createDocumentFragment();
        if (i.createElement)for (; e.length;)i.createElement(e.pop());
        return i
    }

    function u(t, e) {
        return j.nodeName(t, "table") ? t.getElementsByTagName("tbody")[0] || t.appendChild(t.ownerDocument.createElement("tbody")) : t
    }

    function p(t, e) {
        if (1 === e.nodeType && j.hasData(t)) {
            var i, n, a, o = j._data(t), r = j._data(e, o), s = o.events;
            if (s) {
                delete r.handle, r.events = {};
                for (i in s)for (n = 0, a = s[i].length; a > n; n++)j.event.add(e, i + (s[i][n].namespace ? "." : "") + s[i][n].namespace, s[i][n], s[i][n].data)
            }
            r.data && (r.data = j.extend({}, r.data))
        }
    }

    function f(t, e) {
        var i;
        1 === e.nodeType && (e.clearAttributes && e.clearAttributes(), e.mergeAttributes && e.mergeAttributes(t), i = e.nodeName.toLowerCase(), "object" === i ? e.outerHTML = t.outerHTML : "input" !== i || "checkbox" !== t.type && "radio" !== t.type ? "option" === i ? e.selected = t.defaultSelected : ("input" === i || "textarea" === i) && (e.defaultValue = t.defaultValue) : (t.checked && (e.defaultChecked = e.checked = t.checked), e.value !== t.value && (e.value = t.value)), e.removeAttribute(j.expando))
    }

    function h(t) {
        return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName("*") : "undefined" != typeof t.querySelectorAll ? t.querySelectorAll("*") : []
    }

    function m(t) {
        ("checkbox" === t.type || "radio" === t.type) && (t.defaultChecked = t.checked)
    }

    function g(t) {
        var e = (t.nodeName || "").toLowerCase();
        "input" === e ? m(t) : "script" !== e && "undefined" != typeof t.getElementsByTagName && j.grep(t.getElementsByTagName("input"), m)
    }

    function _(t) {
        var e = M.createElement("div");
        return At.appendChild(e), e.innerHTML = t.outerHTML, e.firstChild
    }

    function v(t, e) {
        e.src ? j.ajax({
            url: e.src,
            async: !1,
            dataType: "script"
        }) : j.globalEval((e.text || e.textContent || e.innerHTML || "").replace(xt, "")), e.parentNode && e.parentNode.removeChild(e)
    }

    function y(t, e, i) {
        var n = "width" === e ? t.offsetWidth : t.offsetHeight, a = "width" === e ? Ut : Ft, o = 0, r = a.length;
        if (n > 0) {
            if ("border" !== i)for (; r > o; o++)i || (n -= parseFloat(j.css(t, "padding" + a[o])) || 0), "margin" === i ? n += parseFloat(j.css(t, i + a[o])) || 0 : n -= parseFloat(j.css(t, "border" + a[o] + "Width")) || 0;
            return n + "px"
        }
        if (n = Nt(t, e, e), (0 > n || null == n) && (n = t.style[e] || 0), n = parseFloat(n) || 0, i)for (; r > o; o++)n += parseFloat(j.css(t, "padding" + a[o])) || 0, "padding" !== i && (n += parseFloat(j.css(t, "border" + a[o] + "Width")) || 0), "margin" === i && (n += parseFloat(j.css(t, i + a[o])) || 0);
        return n + "px"
    }

    function b(t) {
        return function (e, i) {
            if ("string" != typeof e && (i = e, e = "*"), j.isFunction(i))for (var n, a, o, r = e.toLowerCase().split(ie), s = 0, l = r.length; l > s; s++)n = r[s], o = /^\+/.test(n), o && (n = n.substr(1) || "*"), a = t[n] = t[n] || [], a[o ? "unshift" : "push"](i)
        }
    }

    function T(t, i, n, a, o, r) {
        o = o || i.dataTypes[0], r = r || {}, r[o] = !0;
        for (var s, l = t[o], c = 0, d = l ? l.length : 0, u = t === re; d > c && (u || !s); c++)s = l[c](i, n, a), "string" == typeof s && (!u || r[s] ? s = e : (i.dataTypes.unshift(s), s = T(t, i, n, a, s, r)));
        return !u && s || r["*"] || (s = T(t, i, n, a, "*", r)), s
    }

    function w(t, i) {
        var n, a, o = j.ajaxSettings.flatOptions || {};
        for (n in i)i[n] !== e && ((o[n] ? t : a || (a = {}))[n] = i[n]);
        a && j.extend(!0, t, a)
    }

    function E(t, e, i, n) {
        if (j.isArray(e))j.each(e, function (e, a) {
            i || zt.test(t) ? n(t, a) : E(t + "[" + ("object" == typeof a || j.isArray(a) ? e : "") + "]", a, i, n)
        }); else if (i || null == e || "object" != typeof e)n(t, e); else for (var a in e)E(t + "[" + a + "]", e[a], i, n)
    }

    function k(t, i, n) {
        var a, o, r, s, l = t.contents, c = t.dataTypes, d = t.responseFields;
        for (o in d)o in n && (i[d[o]] = n[o]);
        for (; "*" === c[0];)c.shift(), a === e && (a = t.mimeType || i.getResponseHeader("content-type"));
        if (a)for (o in l)if (l[o] && l[o].test(a)) {
            c.unshift(o);
            break
        }
        if (c[0] in n)r = c[0]; else {
            for (o in n) {
                if (!c[0] || t.converters[o + " " + c[0]]) {
                    r = o;
                    break
                }
                s || (s = o)
            }
            r = r || s
        }
        return r ? (r !== c[0] && c.unshift(r), n[r]) : void 0
    }

    function L(t, i) {
        t.dataFilter && (i = t.dataFilter(i, t.dataType));
        var n, a, o, r, s, l, c, d, u = t.dataTypes, p = {}, f = u.length, h = u[0];
        for (n = 1; f > n; n++) {
            if (1 === n)for (a in t.converters)"string" == typeof a && (p[a.toLowerCase()] = t.converters[a]);
            if (r = h, h = u[n], "*" === h)h = r; else if ("*" !== r && r !== h) {
                if (s = r + " " + h, l = p[s] || p["* " + h], !l) {
                    d = e;
                    for (c in p)if (o = c.split(" "), (o[0] === r || "*" === o[0]) && (d = p[o[1] + " " + h])) {
                        c = p[c], c === !0 ? l = d : d === !0 && (l = c);
                        break
                    }
                }
                l || d || j.error("No conversion from " + s.replace(" ", " to ")), l !== !0 && (i = l ? l(i) : d(c(i)))
            }
        }
        return i
    }

    function C() {
        try {
            return new t.XMLHttpRequest
        } catch (e) {
        }
    }

    function x() {
        try {
            return new t.ActiveXObject("Microsoft.XMLHTTP")
        } catch (e) {
        }
    }

    function S() {
        return setTimeout(A, 0), ve = j.now()
    }

    function A() {
        ve = e
    }

    function N(t, e) {
        var i = {};
        return j.each(we.concat.apply([], we.slice(0, e)), function () {
            i[this] = t
        }), i
    }

    function O(t) {
        if (!ye[t]) {
            var e = M.body, i = j("<" + t + ">").appendTo(e), n = i.css("display");
            i.remove(), ("none" === n || "" === n) && (me || (me = M.createElement("iframe"), me.frameBorder = me.width = me.height = 0), e.appendChild(me), ge && me.createElement || (ge = (me.contentWindow || me.contentDocument).document, ge.write(("CSS1Compat" === M.compatMode ? "<!doctype html>" : "") + "<html><body>"), ge.close()), i = ge.createElement(t), ge.body.appendChild(i), n = j.css(i, "display"), e.removeChild(me)), ye[t] = n
        }
        return ye[t]
    }

    function $(t) {
        return j.isWindow(t) ? t : 9 === t.nodeType ? t.defaultView || t.parentWindow : !1
    }

    var M = t.document, I = t.navigator, V = t.location, j = function () {
        function i() {
            if (!s.isReady) {
                try {
                    M.documentElement.doScroll("left")
                } catch (t) {
                    return void setTimeout(i, 1)
                }
                s.ready()
            }
        }

        var n, a, o, r, s = function (t, e) {
            return new s.fn.init(t, e, n)
        }, l = t.jQuery, c = t.$, d = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, u = /\S/, p = /^\s+/, f = /\s+$/, h = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, m = /^[\],:{}\s]*$/, g = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, _ = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, v = /(?:^|:|,)(?:\s*\[)+/g, y = /(webkit)[ \/]([\w.]+)/, b = /(opera)(?:.*version)?[ \/]([\w.]+)/, T = /(msie) ([\w.]+)/, w = /(mozilla)(?:.*? rv:([\w.]+))?/, E = /-([a-z]|[0-9])/gi, k = /^-ms-/, L = function (t, e) {
            return (e + "").toUpperCase()
        }, C = I.userAgent, x = Object.prototype.toString, S = Object.prototype.hasOwnProperty, A = Array.prototype.push, N = Array.prototype.slice, O = String.prototype.trim, $ = Array.prototype.indexOf, V = {};
        return s.fn = s.prototype = {
            constructor: s, init: function (t, i, n) {
                var a, o, r, l;
                if (!t)return this;
                if (t.nodeType)return this.context = this[0] = t, this.length = 1, this;
                if ("body" === t && !i && M.body)return this.context = M, this[0] = M.body, this.selector = t, this.length = 1, this;
                if ("string" == typeof t) {
                    if (a = "<" === t.charAt(0) && ">" === t.charAt(t.length - 1) && t.length >= 3 ? [null, t, null] : d.exec(t), !a || !a[1] && i)return !i || i.jquery ? (i || n).find(t) : this.constructor(i).find(t);
                    if (a[1])return i = i instanceof s ? i[0] : i, l = i ? i.ownerDocument || i : M, r = h.exec(t), r ? s.isPlainObject(i) ? (t = [M.createElement(r[1])], s.fn.attr.call(t, i, !0)) : t = [l.createElement(r[1])] : (r = s.buildFragment([a[1]], [l]), t = (r.cacheable ? s.clone(r.fragment) : r.fragment).childNodes), s.merge(this, t);
                    if (o = M.getElementById(a[2]), o && o.parentNode) {
                        if (o.id !== a[2])return n.find(t);
                        this.length = 1, this[0] = o
                    }
                    return this.context = M, this.selector = t, this
                }
                return s.isFunction(t) ? n.ready(t) : (t.selector !== e && (this.selector = t.selector, this.context = t.context), s.makeArray(t, this))
            }, selector: "", jquery: "1.7.1", length: 0, size: function () {
                return this.length
            }, toArray: function () {
                return N.call(this, 0)
            }, get: function (t) {
                return null == t ? this.toArray() : 0 > t ? this[this.length + t] : this[t]
            }, pushStack: function (t, e, i) {
                var n = this.constructor();
                return s.isArray(t) ? A.apply(n, t) : s.merge(n, t), n.prevObject = this, n.context = this.context, "find" === e ? n.selector = this.selector + (this.selector ? " " : "") + i : e && (n.selector = this.selector + "." + e + "(" + i + ")"), n
            }, each: function (t, e) {
                return s.each(this, t, e)
            }, ready: function (t) {
                return s.bindReady(), o.add(t), this
            }, eq: function (t) {
                return t = +t, -1 === t ? this.slice(t) : this.slice(t, t + 1)
            }, first: function () {
                return this.eq(0)
            }, last: function () {
                return this.eq(-1)
            }, slice: function () {
                return this.pushStack(N.apply(this, arguments), "slice", N.call(arguments).join(","))
            }, map: function (t) {
                return this.pushStack(s.map(this, function (e, i) {
                    return t.call(e, i, e)
                }))
            }, end: function () {
                return this.prevObject || this.constructor(null)
            }, push: A, sort: [].sort, splice: [].splice
        }, s.fn.init.prototype = s.fn, s.extend = s.fn.extend = function () {
            var t, i, n, a, o, r, l = arguments[0] || {}, c = 1, d = arguments.length, u = !1;
            for ("boolean" == typeof l && (u = l, l = arguments[1] || {}, c = 2), "object" == typeof l || s.isFunction(l) || (l = {}), d === c && (l = this, --c); d > c; c++)if (null != (t = arguments[c]))for (i in t)n = l[i], a = t[i], l !== a && (u && a && (s.isPlainObject(a) || (o = s.isArray(a))) ? (o ? (o = !1, r = n && s.isArray(n) ? n : []) : r = n && s.isPlainObject(n) ? n : {}, l[i] = s.extend(u, r, a)) : a !== e && (l[i] = a));
            return l
        }, s.extend({
            noConflict: function (e) {
                return t.$ === s && (t.$ = c), e && t.jQuery === s && (t.jQuery = l), s
            }, isReady: !1, readyWait: 1, holdReady: function (t) {
                t ? s.readyWait++ : s.ready(!0)
            }, ready: function (t) {
                if (t === !0 && !--s.readyWait || t !== !0 && !s.isReady) {
                    if (!M.body)return setTimeout(s.ready, 1);
                    if (s.isReady = !0, t !== !0 && --s.readyWait > 0)return;
                    o.fireWith(M, [s]), s.fn.trigger && s(M).trigger("ready").off("ready")
                }
            }, bindReady: function () {
                if (!o) {
                    if (o = s.Callbacks("once memory"), "complete" === M.readyState)return setTimeout(s.ready, 1);
                    if (M.addEventListener)M.addEventListener("DOMContentLoaded", r, !1), t.addEventListener("load", s.ready, !1); else if (M.attachEvent) {
                        M.attachEvent("onreadystatechange", r), t.attachEvent("onload", s.ready);
                        var e = !1;
                        try {
                            e = null == t.frameElement
                        } catch (n) {
                        }
                        M.documentElement.doScroll && e && i()
                    }
                }
            }, isFunction: function (t) {
                return "function" === s.type(t)
            }, isArray: Array.isArray || function (t) {
                return "array" === s.type(t)
            }, isWindow: function (t) {
                return t && "object" == typeof t && "setInterval" in t
            }, isNumeric: function (t) {
                return !isNaN(parseFloat(t)) && isFinite(t)
            }, type: function (t) {
                return null == t ? String(t) : V[x.call(t)] || "object"
            }, isPlainObject: function (t) {
                if (!t || "object" !== s.type(t) || t.nodeType || s.isWindow(t))return !1;
                try {
                    if (t.constructor && !S.call(t, "constructor") && !S.call(t.constructor.prototype, "isPrototypeOf"))return !1
                } catch (i) {
                    return !1
                }
                var n;
                for (n in t);
                return n === e || S.call(t, n)
            }, isEmptyObject: function (t) {
                for (var e in t)return !1;
                return !0
            }, error: function (t) {
                throw new Error(t)
            }, parseJSON: function (e) {
                return "string" == typeof e && e ? (e = s.trim(e), t.JSON && t.JSON.parse ? t.JSON.parse(e) : m.test(e.replace(g, "@").replace(_, "]").replace(v, "")) ? new Function("return " + e)() : void s.error("Invalid JSON: " + e)) : null
            }, parseXML: function (i) {
                var n, a;
                try {
                    t.DOMParser ? (a = new DOMParser, n = a.parseFromString(i, "text/xml")) : (n = new ActiveXObject("Microsoft.XMLDOM"), n.async = "false", n.loadXML(i))
                } catch (o) {
                    n = e
                }
                return n && n.documentElement && !n.getElementsByTagName("parsererror").length || s.error("Invalid XML: " + i), n
            }, noop: function () {
            }, globalEval: function (e) {
                e && u.test(e) && (t.execScript || function (e) {
                    t.eval.call(t, e)
                })(e)
            }, camelCase: function (t) {
                return t.replace(k, "ms-").replace(E, L)
            }, nodeName: function (t, e) {
                return t.nodeName && t.nodeName.toUpperCase() === e.toUpperCase()
            }, each: function (t, i, n) {
                var a, o = 0, r = t.length, l = r === e || s.isFunction(t);
                if (n)if (l) {
                    for (a in t)if (i.apply(t[a], n) === !1)break
                } else for (; r > o && i.apply(t[o++], n) !== !1;); else if (l) {
                    for (a in t)if (i.call(t[a], a, t[a]) === !1)break
                } else for (; r > o && i.call(t[o], o, t[o++]) !== !1;);
                return t
            }, trim: O ? function (t) {
                return null == t ? "" : O.call(t)
            } : function (t) {
                return null == t ? "" : t.toString().replace(p, "").replace(f, "")
            }, makeArray: function (t, e) {
                var i = e || [];
                if (null != t) {
                    var n = s.type(t);
                    null == t.length || "string" === n || "function" === n || "regexp" === n || s.isWindow(t) ? A.call(i, t) : s.merge(i, t)
                }
                return i
            }, inArray: function (t, e, i) {
                var n;
                if (e) {
                    if ($)return $.call(e, t, i);
                    for (n = e.length, i = i ? 0 > i ? Math.max(0, n + i) : i : 0; n > i; i++)if (i in e && e[i] === t)return i
                }
                return -1
            }, merge: function (t, i) {
                var n = t.length, a = 0;
                if ("number" == typeof i.length)for (var o = i.length; o > a; a++)t[n++] = i[a]; else for (; i[a] !== e;)t[n++] = i[a++];
                return t.length = n, t
            }, grep: function (t, e, i) {
                var n, a = [];
                i = !!i;
                for (var o = 0, r = t.length; r > o; o++)n = !!e(t[o], o), i !== n && a.push(t[o]);
                return a
            }, map: function (t, i, n) {
                var a, o, r = [], l = 0, c = t.length, d = t instanceof s || c !== e && "number" == typeof c && (c > 0 && t[0] && t[c - 1] || 0 === c || s.isArray(t));
                if (d)for (; c > l; l++)a = i(t[l], l, n), null != a && (r[r.length] = a); else for (o in t)a = i(t[o], o, n), null != a && (r[r.length] = a);
                return r.concat.apply([], r)
            }, guid: 1, proxy: function (t, i) {
                if ("string" == typeof i) {
                    var n = t[i];
                    i = t, t = n
                }
                if (!s.isFunction(t))return e;
                var a = N.call(arguments, 2), o = function () {
                    return t.apply(i, a.concat(N.call(arguments)))
                };
                return o.guid = t.guid = t.guid || o.guid || s.guid++, o
            }, access: function (t, i, n, a, o, r) {
                var l = t.length;
                if ("object" == typeof i) {
                    for (var c in i)s.access(t, c, i[c], a, o, n);
                    return t
                }
                if (n !== e) {
                    a = !r && a && s.isFunction(n);
                    for (var d = 0; l > d; d++)o(t[d], i, a ? n.call(t[d], d, o(t[d], i)) : n, r);
                    return t
                }
                return l ? o(t[0], i) : e
            }, now: function () {
                return (new Date).getTime()
            }, uaMatch: function (t) {
                t = t.toLowerCase();
                var e = y.exec(t) || b.exec(t) || T.exec(t) || t.indexOf("compatible") < 0 && w.exec(t) || [];
                return {browser: e[1] || "", version: e[2] || "0"}
            }, sub: function () {
                function t(e, i) {
                    return new t.fn.init(e, i)
                }

                s.extend(!0, t, this), t.superclass = this, t.fn = t.prototype = this(), t.fn.constructor = t, t.sub = this.sub, t.fn.init = function (i, n) {
                    return n && n instanceof s && !(n instanceof t) && (n = t(n)), s.fn.init.call(this, i, n, e)
                }, t.fn.init.prototype = t.fn;
                var e = t(M);
                return t
            }, browser: {}
        }), s.each("Boolean Number String Function Array Date RegExp Object".split(" "), function (t, e) {
            V["[object " + e + "]"] = e.toLowerCase()
        }), a = s.uaMatch(C), a.browser && (s.browser[a.browser] = !0, s.browser.version = a.version), s.browser.webkit && (s.browser.safari = !0), u.test(" ") && (p = /^[\s\xA0]+/, f = /[\s\xA0]+$/), n = s(M), M.addEventListener ? r = function () {
            M.removeEventListener("DOMContentLoaded", r, !1), s.ready()
        } : M.attachEvent && (r = function () {
            "complete" === M.readyState && (M.detachEvent("onreadystatechange", r), s.ready())
        }), s
    }(), D = {};
    j.Callbacks = function (t) {
        t = t ? D[t] || i(t) : {};
        var n, a, o, r, s, l = [], c = [], d = function (e) {
            var i, n, a, o;
            for (i = 0, n = e.length; n > i; i++)a = e[i], o = j.type(a), "array" === o ? d(a) : "function" === o && (t.unique && p.has(a) || l.push(a))
        }, u = function (e, i) {
            for (i = i || [], n = !t.memory || [e, i], a = !0, s = o || 0, o = 0, r = l.length; l && r > s; s++)if (l[s].apply(e, i) === !1 && t.stopOnFalse) {
                n = !0;
                break
            }
            a = !1, l && (t.once ? n === !0 ? p.disable() : l = [] : c && c.length && (n = c.shift(), p.fireWith(n[0], n[1])))
        }, p = {
            add: function () {
                if (l) {
                    var t = l.length;
                    d(arguments), a ? r = l.length : n && n !== !0 && (o = t, u(n[0], n[1]))
                }
                return this
            }, remove: function () {
                if (l)for (var e = arguments, i = 0, n = e.length; n > i; i++)for (var o = 0; o < l.length && (e[i] !== l[o] || (a && r >= o && (r--, s >= o && s--), l.splice(o--, 1), !t.unique)); o++);
                return this
            }, has: function (t) {
                if (l)for (var e = 0, i = l.length; i > e; e++)if (t === l[e])return !0;
                return !1
            }, empty: function () {
                return l = [], this
            }, disable: function () {
                return l = c = n = e, this
            }, disabled: function () {
                return !l
            }, lock: function () {
                return c = e, n && n !== !0 || p.disable(), this
            }, locked: function () {
                return !c
            }, fireWith: function (e, i) {
                return c && (a ? t.once || c.push([e, i]) : t.once && n || u(e, i)), this
            }, fire: function () {
                return p.fireWith(this, arguments), this
            }, fired: function () {
                return !!n
            }
        };
        return p
    };
    var P = [].slice;
    j.extend({
        Deferred: function (t) {
            var e, i = j.Callbacks("once memory"), n = j.Callbacks("once memory"), a = j.Callbacks("memory"), o = "pending", r = {
                resolve: i,
                reject: n,
                notify: a
            }, s = {
                done: i.add, fail: n.add, progress: a.add, state: function () {
                    return o
                }, isResolved: i.fired, isRejected: n.fired, then: function (t, e, i) {
                    return l.done(t).fail(e).progress(i), this
                }, always: function () {
                    return l.done.apply(l, arguments).fail.apply(l, arguments), this
                }, pipe: function (t, e, i) {
                    return j.Deferred(function (n) {
                        j.each({done: [t, "resolve"], fail: [e, "reject"], progress: [i, "notify"]}, function (t, e) {
                            var i, a = e[0], o = e[1];
                            j.isFunction(a) ? l[t](function () {
                                i = a.apply(this, arguments), i && j.isFunction(i.promise) ? i.promise().then(n.resolve, n.reject, n.notify) : n[o + "With"](this === l ? n : this, [i])
                            }) : l[t](n[o])
                        })
                    }).promise()
                }, promise: function (t) {
                    if (null == t)t = s; else for (var e in s)t[e] = s[e];
                    return t
                }
            }, l = s.promise({});
            for (e in r)l[e] = r[e].fire, l[e + "With"] = r[e].fireWith;
            return l.done(function () {
                o = "resolved"
            }, n.disable, a.lock).fail(function () {
                o = "rejected"
            }, i.disable, a.lock), t && t.call(l, l), l
        }, when: function (t) {
            function e(t) {
                return function (e) {
                    n[t] = arguments.length > 1 ? P.call(arguments, 0) : e, --s || l.resolveWith(l, n)
                }
            }

            function i(t) {
                return function (e) {
                    r[t] = arguments.length > 1 ? P.call(arguments, 0) : e, l.notifyWith(c, r)
                }
            }

            var n = P.call(arguments, 0), a = 0, o = n.length, r = new Array(o), s = o, l = 1 >= o && t && j.isFunction(t.promise) ? t : j.Deferred(), c = l.promise();
            if (o > 1) {
                for (; o > a; a++)n[a] && n[a].promise && j.isFunction(n[a].promise) ? n[a].promise().then(e(a), l.reject, i(a)) : --s;
                s || l.resolveWith(l, n)
            } else l !== t && l.resolveWith(l, o ? [t] : []);
            return c
        }
    }), j.support = function () {
        var e, i, n, a, o, r, s, l, c, d, u, p, f = M.createElement("div");
        M.documentElement;
        if (f.setAttribute("className", "t"), f.innerHTML = "   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>", i = f.getElementsByTagName("*"), n = f.getElementsByTagName("a")[0], !i || !i.length || !n)return {};
        a = M.createElement("select"), o = a.appendChild(M.createElement("option")), r = f.getElementsByTagName("input")[0], e = {
            leadingWhitespace: 3 === f.firstChild.nodeType,
            tbody: !f.getElementsByTagName("tbody").length,
            htmlSerialize: !!f.getElementsByTagName("link").length,
            style: /top/.test(n.getAttribute("style")),
            hrefNormalized: "/a" === n.getAttribute("href"),
            opacity: /^0.55/.test(n.style.opacity),
            cssFloat: !!n.style.cssFloat,
            checkOn: "on" === r.value,
            optSelected: o.selected,
            getSetAttribute: "t" !== f.className,
            enctype: !!M.createElement("form").enctype,
            html5Clone: "<:nav></:nav>" !== M.createElement("nav").cloneNode(!0).outerHTML,
            submitBubbles: !0,
            changeBubbles: !0,
            focusinBubbles: !1,
            deleteExpando: !0,
            noCloneEvent: !0,
            inlineBlockNeedsLayout: !1,
            shrinkWrapBlocks: !1,
            reliableMarginRight: !0
        }, r.checked = !0, e.noCloneChecked = r.cloneNode(!0).checked, a.disabled = !0, e.optDisabled = !o.disabled;
        try {
            delete f.test
        } catch (h) {
            e.deleteExpando = !1
        }
        if (!f.addEventListener && f.attachEvent && f.fireEvent && (f.attachEvent("onclick", function () {
                e.noCloneEvent = !1
            }), f.cloneNode(!0).fireEvent("onclick")), r = M.createElement("input"), r.value = "t", r.setAttribute("type", "radio"), e.radioValue = "t" === r.value, r.setAttribute("checked", "checked"), f.appendChild(r), l = M.createDocumentFragment(), l.appendChild(f.lastChild), e.checkClone = l.cloneNode(!0).cloneNode(!0).lastChild.checked, e.appendChecked = r.checked, l.removeChild(r), l.appendChild(f), f.innerHTML = "", t.getComputedStyle && (s = M.createElement("div"), s.style.width = "0", s.style.marginRight = "0", f.style.width = "2px", f.appendChild(s), e.reliableMarginRight = 0 === (parseInt((t.getComputedStyle(s, null) || {marginRight: 0}).marginRight, 10) || 0)), f.attachEvent)for (u in{
            submit: 1,
            change: 1,
            focusin: 1
        })d = "on" + u, p = d in f, p || (f.setAttribute(d, "return;"), p = "function" == typeof f[d]), e[u + "Bubbles"] = p;
        return l.removeChild(f), l = a = o = s = f = r = null, j(function () {
            var t, i, n, a, o, r, s, l, d, u, h = M.getElementsByTagName("body")[0];
            h && (r = 1, s = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;", l = "visibility:hidden;border:0;", d = "style='" + s + "border:5px solid #000;padding:0;'", u = "<div " + d + "><div></div></div><table " + d + " cellpadding='0' cellspacing='0'><tr><td></td></tr></table>", t = M.createElement("div"), t.style.cssText = l + "width:0;height:0;position:static;top:0;margin-top:" + r + "px", h.insertBefore(t, h.firstChild), f = M.createElement("div"), t.appendChild(f), f.innerHTML = "<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>", c = f.getElementsByTagName("td"), p = 0 === c[0].offsetHeight, c[0].style.display = "", c[1].style.display = "none", e.reliableHiddenOffsets = p && 0 === c[0].offsetHeight, f.innerHTML = "", f.style.width = f.style.paddingLeft = "1px", j.boxModel = e.boxModel = 2 === f.offsetWidth, "undefined" != typeof f.style.zoom && (f.style.display = "inline", f.style.zoom = 1, e.inlineBlockNeedsLayout = 2 === f.offsetWidth, f.style.display = "", f.innerHTML = "<div style='width:4px;'></div>", e.shrinkWrapBlocks = 2 !== f.offsetWidth), f.style.cssText = s + l, f.innerHTML = u, i = f.firstChild, n = i.firstChild, a = i.nextSibling.firstChild.firstChild, o = {
                doesNotAddBorder: 5 !== n.offsetTop,
                doesAddBorderForTableAndCells: 5 === a.offsetTop
            }, n.style.position = "fixed", n.style.top = "20px", o.fixedPosition = 20 === n.offsetTop || 15 === n.offsetTop, n.style.position = n.style.top = "", i.style.overflow = "hidden", i.style.position = "relative", o.subtractsBorderForOverflowNotVisible = -5 === n.offsetTop, o.doesNotIncludeMarginInBodyOffset = h.offsetTop !== r, h.removeChild(t), f = t = null, j.extend(e, o))
        }), e
    }();
    var R = /^(?:\{.*\}|\[.*\])$/, U = /([A-Z])/g;
    j.extend({
        cache: {},
        uuid: 0,
        expando: "jQuery" + (j.fn.jquery + Math.random()).replace(/\D/g, ""),
        noData: {embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: !0},
        hasData: function (t) {
            return t = t.nodeType ? j.cache[t[j.expando]] : t[j.expando], !!t && !a(t)
        },
        data: function (t, i, n, a) {
            if (j.acceptData(t)) {
                var o, r, s, l = j.expando, c = "string" == typeof i, d = t.nodeType, u = d ? j.cache : t, p = d ? t[l] : t[l] && l, f = "events" === i;
                if (p && u[p] && (f || a || u[p].data) || !c || n !== e)return p || (d ? t[l] = p = ++j.uuid : p = l), u[p] || (u[p] = {}, d || (u[p].toJSON = j.noop)), ("object" == typeof i || "function" == typeof i) && (a ? u[p] = j.extend(u[p], i) : u[p].data = j.extend(u[p].data, i)), o = r = u[p], a || (r.data || (r.data = {}), r = r.data), n !== e && (r[j.camelCase(i)] = n), f && !r[i] ? o.events : (c ? (s = r[i], null == s && (s = r[j.camelCase(i)])) : s = r, s)
            }
        },
        removeData: function (t, e, i) {
            if (j.acceptData(t)) {
                var n, o, r, s = j.expando, l = t.nodeType, c = l ? j.cache : t, d = l ? t[s] : s;
                if (c[d]) {
                    if (e && (n = i ? c[d] : c[d].data)) {
                        j.isArray(e) || (e in n ? e = [e] : (e = j.camelCase(e), e = e in n ? [e] : e.split(" ")));
                        for (o = 0, r = e.length; r > o; o++)delete n[e[o]];
                        if (!(i ? a : j.isEmptyObject)(n))return
                    }
                    (i || (delete c[d].data, a(c[d]))) && (j.support.deleteExpando || !c.setInterval ? delete c[d] : c[d] = null, l && (j.support.deleteExpando ? delete t[s] : t.removeAttribute ? t.removeAttribute(s) : t[s] = null))
                }
            }
        },
        _data: function (t, e, i) {
            return j.data(t, e, i, !0)
        },
        acceptData: function (t) {
            if (t.nodeName) {
                var e = j.noData[t.nodeName.toLowerCase()];
                if (e)return !(e === !0 || t.getAttribute("classid") !== e)
            }
            return !0
        }
    }), j.fn.extend({
        data: function (t, i) {
            var a, o, r, s = null;
            if ("undefined" == typeof t) {
                if (this.length && (s = j.data(this[0]), 1 === this[0].nodeType && !j._data(this[0], "parsedAttrs"))) {
                    o = this[0].attributes;
                    for (var l = 0, c = o.length; c > l; l++)r = o[l].name, 0 === r.indexOf("data-") && (r = j.camelCase(r.substring(5)), n(this[0], r, s[r]));
                    j._data(this[0], "parsedAttrs", !0)
                }
                return s
            }
            return "object" == typeof t ? this.each(function () {
                j.data(this, t)
            }) : (a = t.split("."), a[1] = a[1] ? "." + a[1] : "", i === e ? (s = this.triggerHandler("getData" + a[1] + "!", [a[0]]), s === e && this.length && (s = j.data(this[0], t), s = n(this[0], t, s)), s === e && a[1] ? this.data(a[0]) : s) : this.each(function () {
                var e = j(this), n = [a[0], i];
                e.triggerHandler("setData" + a[1] + "!", n), j.data(this, t, i), e.triggerHandler("changeData" + a[1] + "!", n)
            }))
        }, removeData: function (t) {
            return this.each(function () {
                j.removeData(this, t)
            })
        }
    }), j.extend({
        _mark: function (t, e) {
            t && (e = (e || "fx") + "mark", j._data(t, e, (j._data(t, e) || 0) + 1))
        }, _unmark: function (t, e, i) {
            if (t !== !0 && (i = e, e = t, t = !1), e) {
                i = i || "fx";
                var n = i + "mark", a = t ? 0 : (j._data(e, n) || 1) - 1;
                a ? j._data(e, n, a) : (j.removeData(e, n, !0), o(e, i, "mark"))
            }
        }, queue: function (t, e, i) {
            var n;
            return t ? (e = (e || "fx") + "queue", n = j._data(t, e), i && (!n || j.isArray(i) ? n = j._data(t, e, j.makeArray(i)) : n.push(i)), n || []) : void 0
        }, dequeue: function (t, e) {
            e = e || "fx";
            var i = j.queue(t, e), n = i.shift(), a = {};
            "inprogress" === n && (n = i.shift()), n && ("fx" === e && i.unshift("inprogress"), j._data(t, e + ".run", a), n.call(t, function () {
                j.dequeue(t, e)
            }, a)), i.length || (j.removeData(t, e + "queue " + e + ".run", !0), o(t, e, "queue"))
        }
    }), j.fn.extend({
        queue: function (t, i) {
            return "string" != typeof t && (i = t, t = "fx"), i === e ? j.queue(this[0], t) : this.each(function () {
                var e = j.queue(this, t, i);
                "fx" === t && "inprogress" !== e[0] && j.dequeue(this, t)
            })
        }, dequeue: function (t) {
            return this.each(function () {
                j.dequeue(this, t)
            })
        }, delay: function (t, e) {
            return t = j.fx ? j.fx.speeds[t] || t : t, e = e || "fx", this.queue(e, function (e, i) {
                var n = setTimeout(e, t);
                i.stop = function () {
                    clearTimeout(n)
                }
            })
        }, clearQueue: function (t) {
            return this.queue(t || "fx", [])
        }, promise: function (t, i) {
            function n() {
                --l || o.resolveWith(r, [r])
            }

            "string" != typeof t && (i = t, t = e), t = t || "fx";
            for (var a, o = j.Deferred(), r = this, s = r.length, l = 1, c = t + "defer", d = t + "queue", u = t + "mark"; s--;)(a = j.data(r[s], c, e, !0) || (j.data(r[s], d, e, !0) || j.data(r[s], u, e, !0)) && j.data(r[s], c, j.Callbacks("once memory"), !0)) && (l++, a.add(n));
            return n(), o.promise()
        }
    });
    var F, B, H, Y = /[\n\t\r]/g, z = /\s+/, W = /\r/g, q = /^(?:button|input)$/i, K = /^(?:button|input|object|select|textarea)$/i, G = /^a(?:rea)?$/i, X = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, J = j.support.getSetAttribute;
    j.fn.extend({
        attr: function (t, e) {
            return j.access(this, t, e, !0, j.attr)
        }, removeAttr: function (t) {
            return this.each(function () {
                j.removeAttr(this, t)
            })
        }, prop: function (t, e) {
            return j.access(this, t, e, !0, j.prop)
        }, removeProp: function (t) {
            return t = j.propFix[t] || t, this.each(function () {
                try {
                    this[t] = e, delete this[t]
                } catch (i) {
                }
            })
        }, addClass: function (t) {
            var e, i, n, a, o, r, s;
            if (j.isFunction(t))return this.each(function (e) {
                j(this).addClass(t.call(this, e, this.className))
            });
            if (t && "string" == typeof t)for (e = t.split(z), i = 0, n = this.length; n > i; i++)if (a = this[i], 1 === a.nodeType)if (a.className || 1 !== e.length) {
                for (o = " " + a.className + " ", r = 0, s = e.length; s > r; r++)~o.indexOf(" " + e[r] + " ") || (o += e[r] + " ");
                a.className = j.trim(o)
            } else a.className = t;
            return this
        }, removeClass: function (t) {
            var i, n, a, o, r, s, l;
            if (j.isFunction(t))return this.each(function (e) {
                j(this).removeClass(t.call(this, e, this.className))
            });
            if (t && "string" == typeof t || t === e)for (i = (t || "").split(z), n = 0, a = this.length; a > n; n++)if (o = this[n], 1 === o.nodeType && o.className)if (t) {
                for (r = (" " + o.className + " ").replace(Y, " "), s = 0, l = i.length; l > s; s++)r = r.replace(" " + i[s] + " ", " ");
                o.className = j.trim(r)
            } else o.className = "";
            return this
        }, toggleClass: function (t, e) {
            var i = typeof t, n = "boolean" == typeof e;
            return j.isFunction(t) ? this.each(function (i) {
                j(this).toggleClass(t.call(this, i, this.className, e), e)
            }) : this.each(function () {
                if ("string" === i)for (var a, o = 0, r = j(this), s = e, l = t.split(z); a = l[o++];)s = n ? s : !r.hasClass(a), r[s ? "addClass" : "removeClass"](a); else("undefined" === i || "boolean" === i) && (this.className && j._data(this, "__className__", this.className), this.className = this.className || t === !1 ? "" : j._data(this, "__className__") || "")
            })
        }, hasClass: function (t) {
            for (var e = " " + t + " ", i = 0, n = this.length; n > i; i++)if (1 === this[i].nodeType && (" " + this[i].className + " ").replace(Y, " ").indexOf(e) > -1)return !0;
            return !1
        }, val: function (t) {
            var i, n, a, o = this[0];
            {
                if (arguments.length)return a = j.isFunction(t), this.each(function (n) {
                    var o, r = j(this);
                    1 === this.nodeType && (o = a ? t.call(this, n, r.val()) : t, null == o ? o = "" : "number" == typeof o ? o += "" : j.isArray(o) && (o = j.map(o, function (t) {
                        return null == t ? "" : t + ""
                    })), i = j.valHooks[this.nodeName.toLowerCase()] || j.valHooks[this.type], i && "set" in i && i.set(this, o, "value") !== e || (this.value = o))
                });
                if (o)return i = j.valHooks[o.nodeName.toLowerCase()] || j.valHooks[o.type], i && "get" in i && (n = i.get(o, "value")) !== e ? n : (n = o.value, "string" == typeof n ? n.replace(W, "") : null == n ? "" : n)
            }
        }
    }), j.extend({
        valHooks: {
            option: {
                get: function (t) {
                    var e = t.attributes.value;
                    return !e || e.specified ? t.value : t.text
                }
            }, select: {
                get: function (t) {
                    var e, i, n, a, o = t.selectedIndex, r = [], s = t.options, l = "select-one" === t.type;
                    if (0 > o)return null;
                    for (i = l ? o : 0, n = l ? o + 1 : s.length; n > i; i++)if (a = s[i], a.selected && (j.support.optDisabled ? !a.disabled : null === a.getAttribute("disabled")) && (!a.parentNode.disabled || !j.nodeName(a.parentNode, "optgroup"))) {
                        if (e = j(a).val(), l)return e;
                        r.push(e)
                    }
                    return l && !r.length && s.length ? j(s[o]).val() : r
                }, set: function (t, e) {
                    var i = j.makeArray(e);
                    return j(t).find("option").each(function () {
                        this.selected = j.inArray(j(this).val(), i) >= 0
                    }), i.length || (t.selectedIndex = -1), i
                }
            }
        },
        attrFn: {val: !0, css: !0, html: !0, text: !0, data: !0, width: !0, height: !0, offset: !0},
        attr: function (t, i, n, a) {
            var o, r, s, l = t.nodeType;
            if (t && 3 !== l && 8 !== l && 2 !== l)return a && i in j.attrFn ? j(t)[i](n) : "undefined" == typeof t.getAttribute ? j.prop(t, i, n) : (s = 1 !== l || !j.isXMLDoc(t), s && (i = i.toLowerCase(), r = j.attrHooks[i] || (X.test(i) ? B : F)), n !== e ? null === n ? void j.removeAttr(t, i) : r && "set" in r && s && (o = r.set(t, n, i)) !== e ? o : (t.setAttribute(i, "" + n), n) : r && "get" in r && s && null !== (o = r.get(t, i)) ? o : (o = t.getAttribute(i), null === o ? e : o))
        },
        removeAttr: function (t, e) {
            var i, n, a, o, r = 0;
            if (e && 1 === t.nodeType)for (n = e.toLowerCase().split(z), o = n.length; o > r; r++)a = n[r], a && (i = j.propFix[a] || a, j.attr(t, a, ""), t.removeAttribute(J ? a : i), X.test(a) && i in t && (t[i] = !1))
        },
        attrHooks: {
            type: {
                set: function (t, e) {
                    if (q.test(t.nodeName) && t.parentNode)j.error("type property can't be changed"); else if (!j.support.radioValue && "radio" === e && j.nodeName(t, "input")) {
                        var i = t.value;
                        return t.setAttribute("type", e), i && (t.value = i), e
                    }
                }
            }, value: {
                get: function (t, e) {
                    return F && j.nodeName(t, "button") ? F.get(t, e) : e in t ? t.value : null
                }, set: function (t, e, i) {
                    return F && j.nodeName(t, "button") ? F.set(t, e, i) : void(t.value = e)
                }
            }
        },
        propFix: {
            tabindex: "tabIndex",
            readonly: "readOnly",
            "for": "htmlFor",
            "class": "className",
            maxlength: "maxLength",
            cellspacing: "cellSpacing",
            cellpadding: "cellPadding",
            rowspan: "rowSpan",
            colspan: "colSpan",
            usemap: "useMap",
            frameborder: "frameBorder",
            contenteditable: "contentEditable"
        },
        prop: function (t, i, n) {
            var a, o, r, s = t.nodeType;
            if (t && 3 !== s && 8 !== s && 2 !== s)return r = 1 !== s || !j.isXMLDoc(t), r && (i = j.propFix[i] || i, o = j.propHooks[i]), n !== e ? o && "set" in o && (a = o.set(t, n, i)) !== e ? a : t[i] = n : o && "get" in o && null !== (a = o.get(t, i)) ? a : t[i]
        },
        propHooks: {
            tabIndex: {
                get: function (t) {
                    var i = t.getAttributeNode("tabindex");
                    return i && i.specified ? parseInt(i.value, 10) : K.test(t.nodeName) || G.test(t.nodeName) && t.href ? 0 : e
                }
            }
        }
    }), j.attrHooks.tabindex = j.propHooks.tabIndex, B = {
        get: function (t, i) {
            var n, a = j.prop(t, i);
            return a === !0 || "boolean" != typeof a && (n = t.getAttributeNode(i)) && n.nodeValue !== !1 ? i.toLowerCase() : e
        }, set: function (t, e, i) {
            var n;
            return e === !1 ? j.removeAttr(t, i) : (n = j.propFix[i] || i, n in t && (t[n] = !0), t.setAttribute(i, i.toLowerCase())), i
        }
    }, J || (H = {name: !0, id: !0}, F = j.valHooks.button = {
        get: function (t, i) {
            var n;
            return n = t.getAttributeNode(i), n && (H[i] ? "" !== n.nodeValue : n.specified) ? n.nodeValue : e
        }, set: function (t, e, i) {
            var n = t.getAttributeNode(i);
            return n || (n = M.createAttribute(i), t.setAttributeNode(n)), n.nodeValue = e + ""
        }
    }, j.attrHooks.tabindex.set = F.set, j.each(["width", "height"], function (t, e) {
        j.attrHooks[e] = j.extend(j.attrHooks[e], {
            set: function (t, i) {
                return "" === i ? (t.setAttribute(e, "auto"), i) : void 0
            }
        })
    }), j.attrHooks.contenteditable = {
        get: F.get, set: function (t, e, i) {
            "" === e && (e = "false"), F.set(t, e, i)
        }
    }), j.support.hrefNormalized || j.each(["href", "src", "width", "height"], function (t, i) {
        j.attrHooks[i] = j.extend(j.attrHooks[i], {
            get: function (t) {
                var n = t.getAttribute(i, 2);
                return null === n ? e : n
            }
        })
    }), j.support.style || (j.attrHooks.style = {
        get: function (t) {
            return t.style.cssText.toLowerCase() || e
        }, set: function (t, e) {
            return t.style.cssText = "" + e
        }
    }), j.support.optSelected || (j.propHooks.selected = j.extend(j.propHooks.selected, {
        get: function (t) {
            var e = t.parentNode;
            return e && (e.selectedIndex, e.parentNode && e.parentNode.selectedIndex), null
        }
    })), j.support.enctype || (j.propFix.enctype = "encoding"), j.support.checkOn || j.each(["radio", "checkbox"], function () {
        j.valHooks[this] = {
            get: function (t) {
                return null === t.getAttribute("value") ? "on" : t.value
            }
        }
    }), j.each(["radio", "checkbox"], function () {
        j.valHooks[this] = j.extend(j.valHooks[this], {
            set: function (t, e) {
                return j.isArray(e) ? t.checked = j.inArray(j(t).val(), e) >= 0 : void 0
            }
        })
    });
    var Q = /^(?:textarea|input|select)$/i, Z = /^([^\.]*)?(?:\.(.+))?$/, tt = /\bhover(\.\S+)?\b/, et = /^key/, it = /^(?:mouse|contextmenu)|click/, nt = /^(?:focusinfocus|focusoutblur)$/, at = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/, ot = function (t) {
        var e = at.exec(t);
        return e && (e[1] = (e[1] || "").toLowerCase(), e[3] = e[3] && new RegExp("(?:^|\\s)" + e[3] + "(?:\\s|$)")), e
    }, rt = function (t, e) {
        var i = t.attributes || {};
        return (!e[1] || t.nodeName.toLowerCase() === e[1]) && (!e[2] || (i.id || {}).value === e[2]) && (!e[3] || e[3].test((i["class"] || {}).value))
    }, st = function (t) {
        return j.event.special.hover ? t : t.replace(tt, "mouseenter$1 mouseleave$1")
    };
    j.event = {
        add: function (t, i, n, a, o) {
            var r, s, l, c, d, u, p, f, h, m, g;
            if (3 !== t.nodeType && 8 !== t.nodeType && i && n && (r = j._data(t))) {
                for (n.handler && (h = n, n = h.handler), n.guid || (n.guid = j.guid++), l = r.events, l || (r.events = l = {}), s = r.handle, s || (r.handle = s = function (t) {
                    return "undefined" == typeof j || t && j.event.triggered === t.type ? e : j.event.dispatch.apply(s.elem, arguments)
                }, s.elem = t), i = j.trim(st(i)).split(" "), c = 0; c < i.length; c++)d = Z.exec(i[c]) || [], u = d[1], p = (d[2] || "").split(".").sort(), g = j.event.special[u] || {}, u = (o ? g.delegateType : g.bindType) || u, g = j.event.special[u] || {}, f = j.extend({
                    type: u,
                    origType: d[1],
                    data: a,
                    handler: n,
                    guid: n.guid,
                    selector: o,
                    quick: ot(o),
                    namespace: p.join(".")
                }, h), m = l[u], m || (m = l[u] = [], m.delegateCount = 0, g.setup && g.setup.call(t, a, p, s) !== !1 || (t.addEventListener ? t.addEventListener(u, s, !1) : t.attachEvent && t.attachEvent("on" + u, s))), g.add && (g.add.call(t, f), f.handler.guid || (f.handler.guid = n.guid)), o ? m.splice(m.delegateCount++, 0, f) : m.push(f), j.event.global[u] = !0;
                t = null
            }
        },
        global: {},
        remove: function (t, e, i, n, a) {
            var o, r, s, l, c, d, u, p, f, h, m, g, _ = j.hasData(t) && j._data(t);
            if (_ && (p = _.events)) {
                for (e = j.trim(st(e || "")).split(" "), o = 0; o < e.length; o++)if (r = Z.exec(e[o]) || [], s = l = r[1], c = r[2], s) {
                    for (f = j.event.special[s] || {}, s = (n ? f.delegateType : f.bindType) || s, m = p[s] || [], d = m.length, c = c ? new RegExp("(^|\\.)" + c.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null, u = 0; u < m.length; u++)g = m[u], !a && l !== g.origType || i && i.guid !== g.guid || c && !c.test(g.namespace) || n && n !== g.selector && ("**" !== n || !g.selector) || (m.splice(u--, 1), g.selector && m.delegateCount--, f.remove && f.remove.call(t, g));
                    0 === m.length && d !== m.length && (f.teardown && f.teardown.call(t, c) !== !1 || j.removeEvent(t, s, _.handle), delete p[s])
                } else for (s in p)j.event.remove(t, s + e[o], i, n, !0);
                j.isEmptyObject(p) && (h = _.handle, h && (h.elem = null), j.removeData(t, ["events", "handle"], !0))
            }
        },
        customEvent: {getData: !0, setData: !0, changeData: !0},
        trigger: function (i, n, a, o) {
            if (!a || 3 !== a.nodeType && 8 !== a.nodeType) {
                var r, s, l, c, d, u, p, f, h, m, g = i.type || i, _ = [];
                if (!nt.test(g + j.event.triggered) && (g.indexOf("!") >= 0 && (g = g.slice(0, -1), s = !0), g.indexOf(".") >= 0 && (_ = g.split("."), g = _.shift(), _.sort()), a && !j.event.customEvent[g] || j.event.global[g]))if (i = "object" == typeof i ? i[j.expando] ? i : new j.Event(g, i) : new j.Event(g), i.type = g, i.isTrigger = !0, i.exclusive = s, i.namespace = _.join("."), i.namespace_re = i.namespace ? new RegExp("(^|\\.)" + _.join("\\.(?:.*\\.)?") + "(\\.|$)") : null, u = g.indexOf(":") < 0 ? "on" + g : "", a) {
                    if (i.result = e, i.target || (i.target = a), n = null != n ? j.makeArray(n) : [], n.unshift(i), p = j.event.special[g] || {}, !p.trigger || p.trigger.apply(a, n) !== !1) {
                        if (h = [[a, p.bindType || g]], !o && !p.noBubble && !j.isWindow(a)) {
                            for (m = p.delegateType || g, c = nt.test(m + g) ? a : a.parentNode, d = null; c; c = c.parentNode)h.push([c, m]), d = c;
                            d && d === a.ownerDocument && h.push([d.defaultView || d.parentWindow || t, m])
                        }
                        for (l = 0; l < h.length && !i.isPropagationStopped(); l++)c = h[l][0], i.type = h[l][1], f = (j._data(c, "events") || {})[i.type] && j._data(c, "handle"), f && f.apply(c, n), f = u && c[u], f && j.acceptData(c) && f.apply(c, n) === !1 && i.preventDefault();
                        return i.type = g, o || i.isDefaultPrevented() || p._default && p._default.apply(a.ownerDocument, n) !== !1 || "click" === g && j.nodeName(a, "a") || !j.acceptData(a) || u && a[g] && ("focus" !== g && "blur" !== g || 0 !== i.target.offsetWidth) && !j.isWindow(a) && (d = a[u], d && (a[u] = null), j.event.triggered = g, a[g](), j.event.triggered = e, d && (a[u] = d)), i.result
                    }
                } else {
                    r = j.cache;
                    for (l in r)r[l].events && r[l].events[g] && j.event.trigger(i, n, r[l].handle.elem, !0)
                }
            }
        },
        dispatch: function (i) {
            i = j.event.fix(i || t.event);
            var n, a, o, r, s, l, c, d, u, p, f = (j._data(this, "events") || {})[i.type] || [], h = f.delegateCount, m = [].slice.call(arguments, 0), g = !i.exclusive && !i.namespace, _ = [];
            if (m[0] = i, i.delegateTarget = this, h && !i.target.disabled && (!i.button || "click" !== i.type))for (r = j(this), r.context = this.ownerDocument || this, o = i.target; o != this; o = o.parentNode || this) {
                for (l = {}, d = [], r[0] = o, n = 0; h > n; n++)u = f[n], p = u.selector, l[p] === e && (l[p] = u.quick ? rt(o, u.quick) : r.is(p)), l[p] && d.push(u);
                d.length && _.push({elem: o, matches: d})
            }
            for (f.length > h && _.push({
                elem: this,
                matches: f.slice(h)
            }), n = 0; n < _.length && !i.isPropagationStopped(); n++)for (c = _[n], i.currentTarget = c.elem, a = 0; a < c.matches.length && !i.isImmediatePropagationStopped(); a++)u = c.matches[a], (g || !i.namespace && !u.namespace || i.namespace_re && i.namespace_re.test(u.namespace)) && (i.data = u.data, i.handleObj = u, s = ((j.event.special[u.origType] || {}).handle || u.handler).apply(c.elem, m), s !== e && (i.result = s, s === !1 && (i.preventDefault(), i.stopPropagation())));
            return i.result
        },
        props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
        fixHooks: {},
        keyHooks: {
            props: "char charCode key keyCode".split(" "), filter: function (t, e) {
                return null == t.which && (t.which = null != e.charCode ? e.charCode : e.keyCode), t
            }
        },
        mouseHooks: {
            props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
            filter: function (t, i) {
                var n, a, o, r = i.button, s = i.fromElement;
                return null == t.pageX && null != i.clientX && (n = t.target.ownerDocument || M, a = n.documentElement, o = n.body, t.pageX = i.clientX + (a && a.scrollLeft || o && o.scrollLeft || 0) - (a && a.clientLeft || o && o.clientLeft || 0), t.pageY = i.clientY + (a && a.scrollTop || o && o.scrollTop || 0) - (a && a.clientTop || o && o.clientTop || 0)), !t.relatedTarget && s && (t.relatedTarget = s === t.target ? i.toElement : s), t.which || r === e || (t.which = 1 & r ? 1 : 2 & r ? 3 : 4 & r ? 2 : 0), t
            }
        },
        fix: function (t) {
            if (t[j.expando])return t;
            var i, n, a = t, o = j.event.fixHooks[t.type] || {}, r = o.props ? this.props.concat(o.props) : this.props;
            for (t = j.Event(a), i = r.length; i;)n = r[--i], t[n] = a[n];
            return t.target || (t.target = a.srcElement || M), 3 === t.target.nodeType && (t.target = t.target.parentNode), t.metaKey === e && (t.metaKey = t.ctrlKey), o.filter ? o.filter(t, a) : t
        },
        special: {
            ready: {setup: j.bindReady},
            load: {noBubble: !0},
            focus: {delegateType: "focusin"},
            blur: {delegateType: "focusout"},
            beforeunload: {
                setup: function (t, e, i) {
                    j.isWindow(this) && (this.onbeforeunload = i)
                }, teardown: function (t, e) {
                    this.onbeforeunload === e && (this.onbeforeunload = null)
                }
            }
        },
        simulate: function (t, e, i, n) {
            var a = j.extend(new j.Event, i, {type: t, isSimulated: !0, originalEvent: {}});
            n ? j.event.trigger(a, null, e) : j.event.dispatch.call(e, a), a.isDefaultPrevented() && i.preventDefault()
        }
    }, j.event.handle = j.event.dispatch, j.removeEvent = M.removeEventListener ? function (t, e, i) {
        t.removeEventListener && t.removeEventListener(e, i, !1)
    } : function (t, e, i) {
        t.detachEvent && t.detachEvent("on" + e, i)
    }, j.Event = function (t, e) {
        return this instanceof j.Event ? (t && t.type ? (this.originalEvent = t, this.type = t.type, this.isDefaultPrevented = t.defaultPrevented || t.returnValue === !1 || t.getPreventDefault && t.getPreventDefault() ? s : r) : this.type = t, e && j.extend(this, e), this.timeStamp = t && t.timeStamp || j.now(), void(this[j.expando] = !0)) : new j.Event(t, e)
    }, j.Event.prototype = {
        preventDefault: function () {
            this.isDefaultPrevented = s;
            var t = this.originalEvent;
            t && (t.preventDefault ? t.preventDefault() : t.returnValue = !1)
        }, stopPropagation: function () {
            this.isPropagationStopped = s;
            var t = this.originalEvent;
            t && (t.stopPropagation && t.stopPropagation(), t.cancelBubble = !0)
        }, stopImmediatePropagation: function () {
            this.isImmediatePropagationStopped = s, this.stopPropagation()
        }, isDefaultPrevented: r, isPropagationStopped: r, isImmediatePropagationStopped: r
    }, j.each({mouseenter: "mouseover", mouseleave: "mouseout"}, function (t, e) {
        j.event.special[t] = {
            delegateType: e, bindType: e, handle: function (t) {
                var i, n = this, a = t.relatedTarget, o = t.handleObj;
                o.selector;
                return (!a || a !== n && !j.contains(n, a)) && (t.type = o.origType, i = o.handler.apply(this, arguments), t.type = e), i
            }
        }
    }), j.support.submitBubbles || (j.event.special.submit = {
        setup: function () {
            return j.nodeName(this, "form") ? !1 : void j.event.add(this, "click._submit keypress._submit", function (t) {
                var i = t.target, n = j.nodeName(i, "input") || j.nodeName(i, "button") ? i.form : e;
                n && !n._submit_attached && (j.event.add(n, "submit._submit", function (t) {
                    this.parentNode && !t.isTrigger && j.event.simulate("submit", this.parentNode, t, !0)
                }), n._submit_attached = !0)
            })
        }, teardown: function () {
            return j.nodeName(this, "form") ? !1 : void j.event.remove(this, "._submit")
        }
    }), j.support.changeBubbles || (j.event.special.change = {
        setup: function () {
            return Q.test(this.nodeName) ? (("checkbox" === this.type || "radio" === this.type) && (j.event.add(this, "propertychange._change", function (t) {
                "checked" === t.originalEvent.propertyName && (this._just_changed = !0)
            }), j.event.add(this, "click._change", function (t) {
                this._just_changed && !t.isTrigger && (this._just_changed = !1, j.event.simulate("change", this, t, !0))
            })), !1) : void j.event.add(this, "beforeactivate._change", function (t) {
                var e = t.target;
                Q.test(e.nodeName) && !e._change_attached && (j.event.add(e, "change._change", function (t) {
                    !this.parentNode || t.isSimulated || t.isTrigger || j.event.simulate("change", this.parentNode, t, !0)
                }), e._change_attached = !0)
            })
        }, handle: function (t) {
            var e = t.target;
            return this !== e || t.isSimulated || t.isTrigger || "radio" !== e.type && "checkbox" !== e.type ? t.handleObj.handler.apply(this, arguments) : void 0
        }, teardown: function () {
            return j.event.remove(this, "._change"), Q.test(this.nodeName)
        }
    }), j.support.focusinBubbles || j.each({focus: "focusin", blur: "focusout"}, function (t, e) {
        var i = 0, n = function (t) {
            j.event.simulate(e, t.target, j.event.fix(t), !0)
        };
        j.event.special[e] = {
            setup: function () {
                0 === i++ && M.addEventListener(t, n, !0)
            }, teardown: function () {
                0 === --i && M.removeEventListener(t, n, !0)
            }
        }
    }), j.fn.extend({
        on: function (t, i, n, a, o) {
            var s, l;
            if ("object" == typeof t) {
                "string" != typeof i && (n = i, i = e);
                for (l in t)this.on(l, i, n, t[l], o);
                return this
            }
            if (null == n && null == a ? (a = i, n = i = e) : null == a && ("string" == typeof i ? (a = n, n = e) : (a = n, n = i, i = e)), a === !1)a = r; else if (!a)return this;
            return 1 === o && (s = a, a = function (t) {
                return j().off(t), s.apply(this, arguments)
            }, a.guid = s.guid || (s.guid = j.guid++)), this.each(function () {
                j.event.add(this, t, a, n, i)
            })
        }, one: function (t, e, i, n) {
            return this.on.call(this, t, e, i, n, 1)
        }, off: function (t, i, n) {
            if (t && t.preventDefault && t.handleObj) {
                var a = t.handleObj;
                return j(t.delegateTarget).off(a.namespace ? a.type + "." + a.namespace : a.type, a.selector, a.handler), this
            }
            if ("object" == typeof t) {
                for (var o in t)this.off(o, i, t[o]);
                return this
            }
            return (i === !1 || "function" == typeof i) && (n = i, i = e), n === !1 && (n = r), this.each(function () {
                j.event.remove(this, t, n, i)
            })
        }, bind: function (t, e, i) {
            return this.on(t, null, e, i)
        }, unbind: function (t, e) {
            return this.off(t, null, e)
        }, live: function (t, e, i) {
            return j(this.context).on(t, this.selector, e, i), this
        }, die: function (t, e) {
            return j(this.context).off(t, this.selector || "**", e), this
        }, delegate: function (t, e, i, n) {
            return this.on(e, t, i, n)
        }, undelegate: function (t, e, i) {
            return 1 == arguments.length ? this.off(t, "**") : this.off(e, t, i)
        }, trigger: function (t, e) {
            return this.each(function () {
                j.event.trigger(t, e, this)
            })
        }, triggerHandler: function (t, e) {
            return this[0] ? j.event.trigger(t, e, this[0], !0) : void 0
        }, toggle: function (t) {
            var e = arguments, i = t.guid || j.guid++, n = 0, a = function (i) {
                var a = (j._data(this, "lastToggle" + t.guid) || 0) % n;
                return j._data(this, "lastToggle" + t.guid, a + 1), i.preventDefault(), e[a].apply(this, arguments) || !1
            };
            for (a.guid = i; n < e.length;)e[n++].guid = i;
            return this.click(a)
        }, hover: function (t, e) {
            return this.mouseenter(t).mouseleave(e || t)
        }
    }), j.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (t, e) {
        j.fn[e] = function (t, i) {
            return null == i && (i = t, t = null), arguments.length > 0 ? this.on(e, null, t, i) : this.trigger(e)
        }, j.attrFn && (j.attrFn[e] = !0), et.test(e) && (j.event.fixHooks[e] = j.event.keyHooks), it.test(e) && (j.event.fixHooks[e] = j.event.mouseHooks)
    }), function () {
        function t(t, e, i, n, o, r) {
            for (var s = 0, l = n.length; l > s; s++) {
                var c = n[s];
                if (c) {
                    var d = !1;
                    for (c = c[t]; c;) {
                        if (c[a] === i) {
                            d = n[c.sizset];
                            break
                        }
                        if (1 !== c.nodeType || r || (c[a] = i, c.sizset = s), c.nodeName.toLowerCase() === e) {
                            d = c;
                            break
                        }
                        c = c[t]
                    }
                    n[s] = d
                }
            }
        }

        function i(t, e, i, n, o, r) {
            for (var s = 0, l = n.length; l > s; s++) {
                var c = n[s];
                if (c) {
                    var d = !1;
                    for (c = c[t]; c;) {
                        if (c[a] === i) {
                            d = n[c.sizset];
                            break
                        }
                        if (1 === c.nodeType)if (r || (c[a] = i, c.sizset = s), "string" != typeof e) {
                            if (c === e) {
                                d = !0;
                                break
                            }
                        } else if (p.filter(e, [c]).length > 0) {
                            d = c;
                            break
                        }
                        c = c[t]
                    }
                    n[s] = d
                }
            }
        }

        var n = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, a = "sizcache" + (Math.random() + "").replace(".", ""), o = 0, r = Object.prototype.toString, s = !1, l = !0, c = /\\/g, d = /\r\n/g, u = /\W/;
        [0, 0].sort(function () {
            return l = !1, 0
        });
        var p = function (t, e, i, a) {
            i = i || [], e = e || M;
            var o = e;
            if (1 !== e.nodeType && 9 !== e.nodeType)return [];
            if (!t || "string" != typeof t)return i;
            var s, l, c, d, u, f, g, _, y = !0, b = p.isXML(e), T = [], E = t;
            do if (n.exec(""), s = n.exec(E), s && (E = s[3], T.push(s[1]), s[2])) {
                d = s[3];
                break
            } while (s);
            if (T.length > 1 && m.exec(t))if (2 === T.length && h.relative[T[0]])l = w(T[0] + T[1], e, a); else for (l = h.relative[T[0]] ? [e] : p(T.shift(), e); T.length;)t = T.shift(), h.relative[t] && (t += T.shift()), l = w(t, l, a); else if (!a && T.length > 1 && 9 === e.nodeType && !b && h.match.ID.test(T[0]) && !h.match.ID.test(T[T.length - 1]) && (u = p.find(T.shift(), e, b), e = u.expr ? p.filter(u.expr, u.set)[0] : u.set[0]), e)for (u = a ? {
                expr: T.pop(),
                set: v(a)
            } : p.find(T.pop(), 1 !== T.length || "~" !== T[0] && "+" !== T[0] || !e.parentNode ? e : e.parentNode, b), l = u.expr ? p.filter(u.expr, u.set) : u.set, T.length > 0 ? c = v(l) : y = !1; T.length;)f = T.pop(), g = f, h.relative[f] ? g = T.pop() : f = "", null == g && (g = e), h.relative[f](c, g, b); else c = T = [];
            if (c || (c = l), c || p.error(f || t), "[object Array]" === r.call(c))if (y)if (e && 1 === e.nodeType)for (_ = 0; null != c[_]; _++)c[_] && (c[_] === !0 || 1 === c[_].nodeType && p.contains(e, c[_])) && i.push(l[_]); else for (_ = 0; null != c[_]; _++)c[_] && 1 === c[_].nodeType && i.push(l[_]); else i.push.apply(i, c); else v(c, i);
            return d && (p(d, o, i, a), p.uniqueSort(i)), i
        };
        p.uniqueSort = function (t) {
            if (b && (s = l, t.sort(b), s))for (var e = 1; e < t.length; e++)t[e] === t[e - 1] && t.splice(e--, 1);
            return t
        }, p.matches = function (t, e) {
            return p(t, null, null, e)
        }, p.matchesSelector = function (t, e) {
            return p(e, null, null, [t]).length > 0
        }, p.find = function (t, e, i) {
            var n, a, o, r, s, l;
            if (!t)return [];
            for (a = 0, o = h.order.length; o > a; a++)if (s = h.order[a], (r = h.leftMatch[s].exec(t)) && (l = r[1], r.splice(1, 1), "\\" !== l.substr(l.length - 1) && (r[1] = (r[1] || "").replace(c, ""), n = h.find[s](r, e, i), null != n))) {
                t = t.replace(h.match[s], "");
                break
            }
            return n || (n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName("*") : []), {
                set: n,
                expr: t
            }
        }, p.filter = function (t, i, n, a) {
            for (var o, r, s, l, c, d, u, f, m, g = t, _ = [], v = i, y = i && i[0] && p.isXML(i[0]); t && i.length;) {
                for (s in h.filter)if (null != (o = h.leftMatch[s].exec(t)) && o[2]) {
                    if (d = h.filter[s], u = o[1], r = !1, o.splice(1, 1), "\\" === u.substr(u.length - 1))continue;
                    if (v === _ && (_ = []), h.preFilter[s])if (o = h.preFilter[s](o, v, n, _, a, y)) {
                        if (o === !0)continue
                    } else r = l = !0;
                    if (o)for (f = 0; null != (c = v[f]); f++)c && (l = d(c, o, f, v), m = a ^ l, n && null != l ? m ? r = !0 : v[f] = !1 : m && (_.push(c), r = !0));
                    if (l !== e) {
                        if (n || (v = _), t = t.replace(h.match[s], ""), !r)return [];
                        break
                    }
                }
                if (t === g) {
                    if (null != r)break;
                    p.error(t)
                }
                g = t
            }
            return v
        }, p.error = function (t) {
            throw new Error("Syntax error, unrecognized expression: " + t)
        };
        var f = p.getText = function (t) {
            var e, i, n = t.nodeType, a = "";
            if (n) {
                if (1 === n || 9 === n) {
                    if ("string" == typeof t.textContent)return t.textContent;
                    if ("string" == typeof t.innerText)return t.innerText.replace(d, "");
                    for (t = t.firstChild; t; t = t.nextSibling)a += f(t)
                } else if (3 === n || 4 === n)return t.nodeValue
            } else for (e = 0; i = t[e]; e++)8 !== i.nodeType && (a += f(i));
            return a
        }, h = p.selectors = {
            order: ["ID", "NAME", "TAG"],
            match: {
                ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
                CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
                NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
                ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
                TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
                CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
                POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
                PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
            },
            leftMatch: {},
            attrMap: {"class": "className", "for": "htmlFor"},
            attrHandle: {
                href: function (t) {
                    return t.getAttribute("href")
                }, type: function (t) {
                    return t.getAttribute("type")
                }
            },
            relative: {
                "+": function (t, e) {
                    var i = "string" == typeof e, n = i && !u.test(e), a = i && !n;
                    n && (e = e.toLowerCase());
                    for (var o, r = 0, s = t.length; s > r; r++)if (o = t[r]) {
                        for (; (o = o.previousSibling) && 1 !== o.nodeType;);
                        t[r] = a || o && o.nodeName.toLowerCase() === e ? o || !1 : o === e
                    }
                    a && p.filter(e, t, !0)
                }, ">": function (t, e) {
                    var i, n = "string" == typeof e, a = 0, o = t.length;
                    if (n && !u.test(e)) {
                        for (e = e.toLowerCase(); o > a; a++)if (i = t[a]) {
                            var r = i.parentNode;
                            t[a] = r.nodeName.toLowerCase() === e ? r : !1
                        }
                    } else {
                        for (; o > a; a++)i = t[a], i && (t[a] = n ? i.parentNode : i.parentNode === e);
                        n && p.filter(e, t, !0)
                    }
                }, "": function (e, n, a) {
                    var r, s = o++, l = i;
                    "string" != typeof n || u.test(n) || (n = n.toLowerCase(), r = n, l = t), l("parentNode", n, s, e, r, a)
                }, "~": function (e, n, a) {
                    var r, s = o++, l = i;
                    "string" != typeof n || u.test(n) || (n = n.toLowerCase(), r = n, l = t), l("previousSibling", n, s, e, r, a)
                }
            },
            find: {
                ID: function (t, e, i) {
                    if ("undefined" != typeof e.getElementById && !i) {
                        var n = e.getElementById(t[1]);
                        return n && n.parentNode ? [n] : []
                    }
                }, NAME: function (t, e) {
                    if ("undefined" != typeof e.getElementsByName) {
                        for (var i = [], n = e.getElementsByName(t[1]), a = 0, o = n.length; o > a; a++)n[a].getAttribute("name") === t[1] && i.push(n[a]);
                        return 0 === i.length ? null : i
                    }
                }, TAG: function (t, e) {
                    return "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t[1]) : void 0
                }
            },
            preFilter: {
                CLASS: function (t, e, i, n, a, o) {
                    if (t = " " + t[1].replace(c, "") + " ", o)return t;
                    for (var r, s = 0; null != (r = e[s]); s++)r && (a ^ (r.className && (" " + r.className + " ").replace(/[\t\n\r]/g, " ").indexOf(t) >= 0) ? i || n.push(r) : i && (e[s] = !1));
                    return !1
                }, ID: function (t) {
                    return t[1].replace(c, "")
                }, TAG: function (t, e) {
                    return t[1].replace(c, "").toLowerCase()
                }, CHILD: function (t) {
                    if ("nth" === t[1]) {
                        t[2] || p.error(t[0]), t[2] = t[2].replace(/^\+|\s*/g, "");
                        var e = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec("even" === t[2] && "2n" || "odd" === t[2] && "2n+1" || !/\D/.test(t[2]) && "0n+" + t[2] || t[2]);
                        t[2] = e[1] + (e[2] || 1) - 0, t[3] = e[3] - 0
                    } else t[2] && p.error(t[0]);
                    return t[0] = o++, t
                }, ATTR: function (t, e, i, n, a, o) {
                    var r = t[1] = t[1].replace(c, "");
                    return !o && h.attrMap[r] && (t[1] = h.attrMap[r]), t[4] = (t[4] || t[5] || "").replace(c, ""), "~=" === t[2] && (t[4] = " " + t[4] + " "), t
                }, PSEUDO: function (t, e, i, a, o) {
                    if ("not" === t[1]) {
                        if (!((n.exec(t[3]) || "").length > 1 || /^\w/.test(t[3]))) {
                            var r = p.filter(t[3], e, i, !0 ^ o);
                            return i || a.push.apply(a, r), !1
                        }
                        t[3] = p(t[3], null, null, e)
                    } else if (h.match.POS.test(t[0]) || h.match.CHILD.test(t[0]))return !0;
                    return t
                }, POS: function (t) {
                    return t.unshift(!0), t
                }
            },
            filters: {
                enabled: function (t) {
                    return t.disabled === !1 && "hidden" !== t.type
                }, disabled: function (t) {
                    return t.disabled === !0
                }, checked: function (t) {
                    return t.checked === !0
                }, selected: function (t) {
                    return t.parentNode && t.parentNode.selectedIndex, t.selected === !0
                }, parent: function (t) {
                    return !!t.firstChild
                }, empty: function (t) {
                    return !t.firstChild
                }, has: function (t, e, i) {
                    return !!p(i[3], t).length
                }, header: function (t) {
                    return /h\d/i.test(t.nodeName)
                }, text: function (t) {
                    var e = t.getAttribute("type"), i = t.type;
                    return "input" === t.nodeName.toLowerCase() && "text" === i && (e === i || null === e)
                }, radio: function (t) {
                    return "input" === t.nodeName.toLowerCase() && "radio" === t.type
                }, checkbox: function (t) {
                    return "input" === t.nodeName.toLowerCase() && "checkbox" === t.type
                }, file: function (t) {
                    return "input" === t.nodeName.toLowerCase() && "file" === t.type
                }, password: function (t) {
                    return "input" === t.nodeName.toLowerCase() && "password" === t.type
                }, submit: function (t) {
                    var e = t.nodeName.toLowerCase();
                    return ("input" === e || "button" === e) && "submit" === t.type
                }, image: function (t) {
                    return "input" === t.nodeName.toLowerCase() && "image" === t.type
                }, reset: function (t) {
                    var e = t.nodeName.toLowerCase();
                    return ("input" === e || "button" === e) && "reset" === t.type
                }, button: function (t) {
                    var e = t.nodeName.toLowerCase();
                    return "input" === e && "button" === t.type || "button" === e
                }, input: function (t) {
                    return /input|select|textarea|button/i.test(t.nodeName)
                }, focus: function (t) {
                    return t === t.ownerDocument.activeElement
                }
            },
            setFilters: {
                first: function (t, e) {
                    return 0 === e
                }, last: function (t, e, i, n) {
                    return e === n.length - 1
                }, even: function (t, e) {
                    return e % 2 === 0
                }, odd: function (t, e) {
                    return e % 2 === 1
                }, lt: function (t, e, i) {
                    return e < i[3] - 0
                }, gt: function (t, e, i) {
                    return e > i[3] - 0
                }, nth: function (t, e, i) {
                    return i[3] - 0 === e
                }, eq: function (t, e, i) {
                    return i[3] - 0 === e
                }
            },
            filter: {
                PSEUDO: function (t, e, i, n) {
                    var a = e[1], o = h.filters[a];
                    if (o)return o(t, i, e, n);
                    if ("contains" === a)return (t.textContent || t.innerText || f([t]) || "").indexOf(e[3]) >= 0;
                    if ("not" === a) {
                        for (var r = e[3], s = 0, l = r.length; l > s; s++)if (r[s] === t)return !1;
                        return !0
                    }
                    p.error(a)
                }, CHILD: function (t, e) {
                    var i, n, o, r, s, l, c = e[1], d = t;
                    switch (c) {
                        case"only":
                        case"first":
                            for (; d = d.previousSibling;)if (1 === d.nodeType)return !1;
                            if ("first" === c)return !0;
                            d = t;
                        case"last":
                            for (; d = d.nextSibling;)if (1 === d.nodeType)return !1;
                            return !0;
                        case"nth":
                            if (i = e[2], n = e[3], 1 === i && 0 === n)return !0;
                            if (o = e[0], r = t.parentNode, r && (r[a] !== o || !t.nodeIndex)) {
                                for (s = 0, d = r.firstChild; d; d = d.nextSibling)1 === d.nodeType && (d.nodeIndex = ++s);
                                r[a] = o
                            }
                            return l = t.nodeIndex - n, 0 === i ? 0 === l : l % i === 0 && l / i >= 0
                    }
                }, ID: function (t, e) {
                    return 1 === t.nodeType && t.getAttribute("id") === e
                }, TAG: function (t, e) {
                    return "*" === e && 1 === t.nodeType || !!t.nodeName && t.nodeName.toLowerCase() === e
                }, CLASS: function (t, e) {
                    return (" " + (t.className || t.getAttribute("class")) + " ").indexOf(e) > -1
                }, ATTR: function (t, e) {
                    var i = e[1], n = p.attr ? p.attr(t, i) : h.attrHandle[i] ? h.attrHandle[i](t) : null != t[i] ? t[i] : t.getAttribute(i), a = n + "", o = e[2], r = e[4];
                    return null == n ? "!=" === o : !o && p.attr ? null != n : "=" === o ? a === r : "*=" === o ? a.indexOf(r) >= 0 : "~=" === o ? (" " + a + " ").indexOf(r) >= 0 : r ? "!=" === o ? a !== r : "^=" === o ? 0 === a.indexOf(r) : "$=" === o ? a.substr(a.length - r.length) === r : "|=" === o ? a === r || a.substr(0, r.length + 1) === r + "-" : !1 : a && n !== !1
                }, POS: function (t, e, i, n) {
                    var a = e[2], o = h.setFilters[a];
                    return o ? o(t, i, e, n) : void 0
                }
            }
        }, m = h.match.POS, g = function (t, e) {
            return "\\" + (e - 0 + 1)
        };
        for (var _ in h.match)h.match[_] = new RegExp(h.match[_].source + /(?![^\[]*\])(?![^\(]*\))/.source), h.leftMatch[_] = new RegExp(/(^(?:.|\r|\n)*?)/.source + h.match[_].source.replace(/\\(\d+)/g, g));
        var v = function (t, e) {
            return t = Array.prototype.slice.call(t, 0), e ? (e.push.apply(e, t), e) : t
        };
        try {
            Array.prototype.slice.call(M.documentElement.childNodes, 0)[0].nodeType
        } catch (y) {
            v = function (t, e) {
                var i = 0, n = e || [];
                if ("[object Array]" === r.call(t))Array.prototype.push.apply(n, t); else if ("number" == typeof t.length)for (var a = t.length; a > i; i++)n.push(t[i]); else for (; t[i]; i++)n.push(t[i]);
                return n
            }
        }
        var b, T;
        M.documentElement.compareDocumentPosition ? b = function (t, e) {
            return t === e ? (s = !0, 0) : t.compareDocumentPosition && e.compareDocumentPosition ? 4 & t.compareDocumentPosition(e) ? -1 : 1 : t.compareDocumentPosition ? -1 : 1
        } : (b = function (t, e) {
            if (t === e)return s = !0, 0;
            if (t.sourceIndex && e.sourceIndex)return t.sourceIndex - e.sourceIndex;
            var i, n, a = [], o = [], r = t.parentNode, l = e.parentNode, c = r;
            if (r === l)return T(t, e);
            if (!r)return -1;
            if (!l)return 1;
            for (; c;)a.unshift(c), c = c.parentNode;
            for (c = l; c;)o.unshift(c), c = c.parentNode;
            i = a.length, n = o.length;
            for (var d = 0; i > d && n > d; d++)if (a[d] !== o[d])return T(a[d], o[d]);
            return d === i ? T(t, o[d], -1) : T(a[d], e, 1)
        }, T = function (t, e, i) {
            if (t === e)return i;
            for (var n = t.nextSibling; n;) {
                if (n === e)return -1;
                n = n.nextSibling
            }
            return 1
        }), function () {
            var t = M.createElement("div"), i = "script" + (new Date).getTime(), n = M.documentElement;
            t.innerHTML = "<a name='" + i + "'/>", n.insertBefore(t, n.firstChild), M.getElementById(i) && (h.find.ID = function (t, i, n) {
                if ("undefined" != typeof i.getElementById && !n) {
                    var a = i.getElementById(t[1]);
                    return a ? a.id === t[1] || "undefined" != typeof a.getAttributeNode && a.getAttributeNode("id").nodeValue === t[1] ? [a] : e : []
                }
            }, h.filter.ID = function (t, e) {
                var i = "undefined" != typeof t.getAttributeNode && t.getAttributeNode("id");
                return 1 === t.nodeType && i && i.nodeValue === e
            }), n.removeChild(t), n = t = null
        }(), function () {
            var t = M.createElement("div");
            t.appendChild(M.createComment("")), t.getElementsByTagName("*").length > 0 && (h.find.TAG = function (t, e) {
                var i = e.getElementsByTagName(t[1]);
                if ("*" === t[1]) {
                    for (var n = [], a = 0; i[a]; a++)1 === i[a].nodeType && n.push(i[a]);
                    i = n
                }
                return i
            }), t.innerHTML = "<a href='#'></a>", t.firstChild && "undefined" != typeof t.firstChild.getAttribute && "#" !== t.firstChild.getAttribute("href") && (h.attrHandle.href = function (t) {
                return t.getAttribute("href", 2)
            }), t = null
        }(), M.querySelectorAll && !function () {
            var t = p, e = M.createElement("div"), i = "__sizzle__";
            if (e.innerHTML = "<p class='TEST'></p>", !e.querySelectorAll || 0 !== e.querySelectorAll(".TEST").length) {
                p = function (e, n, a, o) {
                    if (n = n || M, !o && !p.isXML(n)) {
                        var r = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(e);
                        if (r && (1 === n.nodeType || 9 === n.nodeType)) {
                            if (r[1])return v(n.getElementsByTagName(e), a);
                            if (r[2] && h.find.CLASS && n.getElementsByClassName)return v(n.getElementsByClassName(r[2]), a)
                        }
                        if (9 === n.nodeType) {
                            if ("body" === e && n.body)return v([n.body], a);
                            if (r && r[3]) {
                                var s = n.getElementById(r[3]);
                                if (!s || !s.parentNode)return v([], a);
                                if (s.id === r[3])return v([s], a)
                            }
                            try {
                                return v(n.querySelectorAll(e), a)
                            } catch (l) {
                            }
                        } else if (1 === n.nodeType && "object" !== n.nodeName.toLowerCase()) {
                            var c = n, d = n.getAttribute("id"), u = d || i, f = n.parentNode, m = /^\s*[+~]/.test(e);
                            d ? u = u.replace(/'/g, "\\$&") : n.setAttribute("id", u), m && f && (n = n.parentNode);
                            try {
                                if (!m || f)return v(n.querySelectorAll("[id='" + u + "'] " + e), a)
                            } catch (g) {
                            } finally {
                                d || c.removeAttribute("id")
                            }
                        }
                    }
                    return t(e, n, a, o)
                };
                for (var n in t)p[n] = t[n];
                e = null
            }
        }(), function () {
            var t = M.documentElement, e = t.matchesSelector || t.mozMatchesSelector || t.webkitMatchesSelector || t.msMatchesSelector;
            if (e) {
                var i = !e.call(M.createElement("div"), "div"), n = !1;
                try {
                    e.call(M.documentElement, "[test!='']:sizzle")
                } catch (a) {
                    n = !0
                }
                p.matchesSelector = function (t, a) {
                    if (a = a.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"), !p.isXML(t))try {
                        if (n || !h.match.PSEUDO.test(a) && !/!=/.test(a)) {
                            var o = e.call(t, a);
                            if (o || !i || t.document && 11 !== t.document.nodeType)return o
                        }
                    } catch (r) {
                    }
                    return p(a, null, null, [t]).length > 0
                }
            }
        }(), function () {
            var t = M.createElement("div");
            t.innerHTML = "<div class='test e'></div><div class='test'></div>", t.getElementsByClassName && 0 !== t.getElementsByClassName("e").length && (t.lastChild.className = "e", 1 !== t.getElementsByClassName("e").length && (h.order.splice(1, 0, "CLASS"), h.find.CLASS = function (t, e, i) {
                return "undefined" == typeof e.getElementsByClassName || i ? void 0 : e.getElementsByClassName(t[1])
            }, t = null))
        }(), M.documentElement.contains ? p.contains = function (t, e) {
            return t !== e && (t.contains ? t.contains(e) : !0)
        } : M.documentElement.compareDocumentPosition ? p.contains = function (t, e) {
            return !!(16 & t.compareDocumentPosition(e))
        } : p.contains = function () {
            return !1
        }, p.isXML = function (t) {
            var e = (t ? t.ownerDocument || t : 0).documentElement;
            return e ? "HTML" !== e.nodeName : !1
        };
        var w = function (t, e, i) {
            for (var n, a = [], o = "", r = e.nodeType ? [e] : e; n = h.match.PSEUDO.exec(t);)o += n[0], t = t.replace(h.match.PSEUDO, "");
            t = h.relative[t] ? t + "*" : t;
            for (var s = 0, l = r.length; l > s; s++)p(t, r[s], a, i);
            return p.filter(o, a)
        };
        p.attr = j.attr, p.selectors.attrMap = {}, j.find = p, j.expr = p.selectors, j.expr[":"] = j.expr.filters, j.unique = p.uniqueSort, j.text = p.getText, j.isXMLDoc = p.isXML, j.contains = p.contains
    }();
    var lt = /Until$/, ct = /^(?:parents|prevUntil|prevAll)/, dt = /,/, ut = /^.[^:#\[\.,]*$/, pt = Array.prototype.slice, ft = j.expr.match.POS, ht = {
        children: !0,
        contents: !0,
        next: !0,
        prev: !0
    };
    j.fn.extend({
        find: function (t) {
            var e, i, n = this;
            if ("string" != typeof t)return j(t).filter(function () {
                for (e = 0, i = n.length; i > e; e++)if (j.contains(n[e], this))return !0
            });
            var a, o, r, s = this.pushStack("", "find", t);
            for (e = 0, i = this.length; i > e; e++)if (a = s.length, j.find(t, this[e], s), e > 0)for (o = a; o < s.length; o++)for (r = 0; a > r; r++)if (s[r] === s[o]) {
                s.splice(o--, 1);
                break
            }
            return s
        }, has: function (t) {
            var e = j(t);
            return this.filter(function () {
                for (var t = 0, i = e.length; i > t; t++)if (j.contains(this, e[t]))return !0
            })
        }, not: function (t) {
            return this.pushStack(c(this, t, !1), "not", t)
        }, filter: function (t) {
            return this.pushStack(c(this, t, !0), "filter", t)
        }, is: function (t) {
            return !!t && ("string" == typeof t ? ft.test(t) ? j(t, this.context).index(this[0]) >= 0 : j.filter(t, this).length > 0 : this.filter(t).length > 0)
        }, closest: function (t, e) {
            var i, n, a = [], o = this[0];
            if (j.isArray(t)) {
                for (var r = 1; o && o.ownerDocument && o !== e;) {
                    for (i = 0; i < t.length; i++)j(o).is(t[i]) && a.push({selector: t[i], elem: o, level: r});
                    o = o.parentNode, r++
                }
                return a
            }
            var s = ft.test(t) || "string" != typeof t ? j(t, e || this.context) : 0;
            for (i = 0, n = this.length; n > i; i++)for (o = this[i]; o;) {
                if (s ? s.index(o) > -1 : j.find.matchesSelector(o, t)) {
                    a.push(o);
                    break
                }
                if (o = o.parentNode, !o || !o.ownerDocument || o === e || 11 === o.nodeType)break
            }
            return a = a.length > 1 ? j.unique(a) : a, this.pushStack(a, "closest", t)
        }, index: function (t) {
            return t ? "string" == typeof t ? j.inArray(this[0], j(t)) : j.inArray(t.jquery ? t[0] : t, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1
        }, add: function (t, e) {
            var i = "string" == typeof t ? j(t, e) : j.makeArray(t && t.nodeType ? [t] : t), n = j.merge(this.get(), i);
            return this.pushStack(l(i[0]) || l(n[0]) ? n : j.unique(n))
        }, andSelf: function () {
            return this.add(this.prevObject)
        }
    }), j.each({
        parent: function (t) {
            var e = t.parentNode;
            return e && 11 !== e.nodeType ? e : null
        }, parents: function (t) {
            return j.dir(t, "parentNode")
        }, parentsUntil: function (t, e, i) {
            return j.dir(t, "parentNode", i)
        }, next: function (t) {
            return j.nth(t, 2, "nextSibling")
        }, prev: function (t) {
            return j.nth(t, 2, "previousSibling")
        }, nextAll: function (t) {
            return j.dir(t, "nextSibling")
        }, prevAll: function (t) {
            return j.dir(t, "previousSibling")
        }, nextUntil: function (t, e, i) {
            return j.dir(t, "nextSibling", i)
        }, prevUntil: function (t, e, i) {
            return j.dir(t, "previousSibling", i)
        }, siblings: function (t) {
            return j.sibling(t.parentNode.firstChild, t)
        }, children: function (t) {
            return j.sibling(t.firstChild)
        }, contents: function (t) {
            return j.nodeName(t, "iframe") ? t.contentDocument || t.contentWindow.document : j.makeArray(t.childNodes)
        }
    }, function (t, e) {
        j.fn[t] = function (i, n) {
            var a = j.map(this, e, i);
            return lt.test(t) || (n = i), n && "string" == typeof n && (a = j.filter(n, a)), a = this.length > 1 && !ht[t] ? j.unique(a) : a, (this.length > 1 || dt.test(n)) && ct.test(t) && (a = a.reverse()), this.pushStack(a, t, pt.call(arguments).join(","))
        }
    }), j.extend({
        filter: function (t, e, i) {
            return i && (t = ":not(" + t + ")"), 1 === e.length ? j.find.matchesSelector(e[0], t) ? [e[0]] : [] : j.find.matches(t, e)
        }, dir: function (t, i, n) {
            for (var a = [], o = t[i]; o && 9 !== o.nodeType && (n === e || 1 !== o.nodeType || !j(o).is(n));)1 === o.nodeType && a.push(o), o = o[i];
            return a
        }, nth: function (t, e, i, n) {
            e = e || 1;
            for (var a = 0; t && (1 !== t.nodeType || ++a !== e); t = t[i]);
            return t
        }, sibling: function (t, e) {
            for (var i = []; t; t = t.nextSibling)1 === t.nodeType && t !== e && i.push(t);
            return i
        }
    });
    var mt = "abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", gt = / jQuery\d+="(?:\d+|null)"/g, _t = /^\s+/, vt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, yt = /<([\w:]+)/, bt = /<tbody/i, Tt = /<|&#?\w+;/, wt = /<(?:script|style)/i, Et = /<(?:script|object|embed|option|style)/i, kt = new RegExp("<(?:" + mt + ")", "i"), Lt = /checked\s*(?:[^=]|=\s*.checked.)/i, Ct = /\/(java|ecma)script/i, xt = /^\s*<!(?:\[CDATA\[|\-\-)/, St = {
        option: [1, "<select multiple='multiple'>", "</select>"],
        legend: [1, "<fieldset>", "</fieldset>"],
        thead: [1, "<table>", "</table>"],
        tr: [2, "<table><tbody>", "</tbody></table>"],
        td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
        col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
        area: [1, "<map>", "</map>"],
        _default: [0, "", ""]
    }, At = d(M);
    St.optgroup = St.option, St.tbody = St.tfoot = St.colgroup = St.caption = St.thead, St.th = St.td, j.support.htmlSerialize || (St._default = [1, "div<div>", "</div>"]), j.fn.extend({
        text: function (t) {
            return j.isFunction(t) ? this.each(function (e) {
                var i = j(this);
                i.text(t.call(this, e, i.text()))
            }) : "object" != typeof t && t !== e ? this.empty().append((this[0] && this[0].ownerDocument || M).createTextNode(t)) : j.text(this)
        }, wrapAll: function (t) {
            if (j.isFunction(t))return this.each(function (e) {
                j(this).wrapAll(t.call(this, e))
            });
            if (this[0]) {
                var e = j(t, this[0].ownerDocument).eq(0).clone(!0);
                this[0].parentNode && e.insertBefore(this[0]), e.map(function () {
                    for (var t = this; t.firstChild && 1 === t.firstChild.nodeType;)t = t.firstChild;
                    return t
                }).append(this)
            }
            return this
        }, wrapInner: function (t) {
            return j.isFunction(t) ? this.each(function (e) {
                j(this).wrapInner(t.call(this, e))
            }) : this.each(function () {
                var e = j(this), i = e.contents();
                i.length ? i.wrapAll(t) : e.append(t)
            })
        }, wrap: function (t) {
            var e = j.isFunction(t);
            return this.each(function (i) {
                j(this).wrapAll(e ? t.call(this, i) : t)
            })
        }, unwrap: function () {
            return this.parent().each(function () {
                j.nodeName(this, "body") || j(this).replaceWith(this.childNodes)
            }).end()
        }, append: function () {
            return this.domManip(arguments, !0, function (t) {
                1 === this.nodeType && this.appendChild(t)
            })
        }, prepend: function () {
            return this.domManip(arguments, !0, function (t) {
                1 === this.nodeType && this.insertBefore(t, this.firstChild)
            })
        }, before: function () {
            if (this[0] && this[0].parentNode)return this.domManip(arguments, !1, function (t) {
                this.parentNode.insertBefore(t, this)
            });
            if (arguments.length) {
                var t = j.clean(arguments);
                return t.push.apply(t, this.toArray()), this.pushStack(t, "before", arguments)
            }
        }, after: function () {
            if (this[0] && this[0].parentNode)return this.domManip(arguments, !1, function (t) {
                this.parentNode.insertBefore(t, this.nextSibling)
            });
            if (arguments.length) {
                var t = this.pushStack(this, "after", arguments);
                return t.push.apply(t, j.clean(arguments)), t
            }
        }, remove: function (t, e) {
            for (var i, n = 0; null != (i = this[n]); n++)(!t || j.filter(t, [i]).length) && (e || 1 !== i.nodeType || (j.cleanData(i.getElementsByTagName("*")), j.cleanData([i])), i.parentNode && i.parentNode.removeChild(i));
            return this
        }, empty: function () {
            for (var t, e = 0; null != (t = this[e]); e++)for (1 === t.nodeType && j.cleanData(t.getElementsByTagName("*")); t.firstChild;)t.removeChild(t.firstChild);
            return this
        }, clone: function (t, e) {
            return t = null == t ? !1 : t, e = null == e ? t : e, this.map(function () {
                return j.clone(this, t, e)
            })
        }, html: function (t) {
            if (t === e)return this[0] && 1 === this[0].nodeType ? this[0].innerHTML.replace(gt, "") : null;
            if ("string" != typeof t || wt.test(t) || !j.support.leadingWhitespace && _t.test(t) || St[(yt.exec(t) || ["", ""])[1].toLowerCase()])j.isFunction(t) ? this.each(function (e) {
                var i = j(this);
                i.html(t.call(this, e, i.html()))
            }) : this.empty().append(t); else {
                t = t.replace(vt, "<$1></$2>");
                try {
                    for (var i = 0, n = this.length; n > i; i++)1 === this[i].nodeType && (j.cleanData(this[i].getElementsByTagName("*")), this[i].innerHTML = t)
                } catch (a) {
                    this.empty().append(t)
                }
            }
            return this
        }, replaceWith: function (t) {
            return this[0] && this[0].parentNode ? j.isFunction(t) ? this.each(function (e) {
                var i = j(this), n = i.html();
                i.replaceWith(t.call(this, e, n))
            }) : ("string" != typeof t && (t = j(t).detach()), this.each(function () {
                var e = this.nextSibling, i = this.parentNode;
                j(this).remove(), e ? j(e).before(t) : j(i).append(t)
            })) : this.length ? this.pushStack(j(j.isFunction(t) ? t() : t), "replaceWith", t) : this
        }, detach: function (t) {
            return this.remove(t, !0)
        }, domManip: function (t, i, n) {
            var a, o, r, s, l = t[0], c = [];
            if (!j.support.checkClone && 3 === arguments.length && "string" == typeof l && Lt.test(l))return this.each(function () {
                j(this).domManip(t, i, n, !0)
            });
            if (j.isFunction(l))return this.each(function (a) {
                var o = j(this);
                t[0] = l.call(this, a, i ? o.html() : e), o.domManip(t, i, n)
            });
            if (this[0]) {
                if (s = l && l.parentNode, a = j.support.parentNode && s && 11 === s.nodeType && s.childNodes.length === this.length ? {fragment: s} : j.buildFragment(t, this, c), r = a.fragment, o = 1 === r.childNodes.length ? r = r.firstChild : r.firstChild) {
                    i = i && j.nodeName(o, "tr");
                    for (var d = 0, p = this.length, f = p - 1; p > d; d++)n.call(i ? u(this[d], o) : this[d], a.cacheable || p > 1 && f > d ? j.clone(r, !0, !0) : r)
                }
                c.length && j.each(c, v)
            }
            return this
        }
    }), j.buildFragment = function (t, e, i) {
        var n, a, o, r, s = t[0];
        return e && e[0] && (r = e[0].ownerDocument || e[0]), r.createDocumentFragment || (r = M), !(1 === t.length && "string" == typeof s && s.length < 512 && r === M && "<" === s.charAt(0)) || Et.test(s) || !j.support.checkClone && Lt.test(s) || !j.support.html5Clone && kt.test(s) || (a = !0, o = j.fragments[s], o && 1 !== o && (n = o)), n || (n = r.createDocumentFragment(), j.clean(t, r, n, i)), a && (j.fragments[s] = o ? n : 1), {
            fragment: n,
            cacheable: a
        }
    }, j.fragments = {}, j.each({
        appendTo: "append",
        prependTo: "prepend",
        insertBefore: "before",
        insertAfter: "after",
        replaceAll: "replaceWith"
    }, function (t, e) {
        j.fn[t] = function (i) {
            var n = [], a = j(i), o = 1 === this.length && this[0].parentNode;
            if (o && 11 === o.nodeType && 1 === o.childNodes.length && 1 === a.length)return a[e](this[0]), this;
            for (var r = 0, s = a.length; s > r; r++) {
                var l = (r > 0 ? this.clone(!0) : this).get();
                j(a[r])[e](l), n = n.concat(l)
            }
            return this.pushStack(n, t, a.selector)
        }
    }), j.extend({
        clone: function (t, e, i) {
            var n, a, o, r = j.support.html5Clone || !kt.test("<" + t.nodeName) ? t.cloneNode(!0) : _(t);
            if (!(j.support.noCloneEvent && j.support.noCloneChecked || 1 !== t.nodeType && 11 !== t.nodeType || j.isXMLDoc(t)))for (f(t, r), n = h(t), a = h(r), o = 0; n[o]; ++o)a[o] && f(n[o], a[o]);
            if (e && (p(t, r), i))for (n = h(t), a = h(r), o = 0; n[o]; ++o)p(n[o], a[o]);
            return n = a = null, r
        }, clean: function (t, e, i, n) {
            var a;
            e = e || M, "undefined" == typeof e.createElement && (e = e.ownerDocument || e[0] && e[0].ownerDocument || M);
            for (var o, r, s = [], l = 0; null != (r = t[l]); l++)if ("number" == typeof r && (r += ""), r) {
                if ("string" == typeof r)if (Tt.test(r)) {
                    r = r.replace(vt, "<$1></$2>");
                    var c = (yt.exec(r) || ["", ""])[1].toLowerCase(), u = St[c] || St._default, p = u[0], f = e.createElement("div");
                    for (e === M ? At.appendChild(f) : d(e).appendChild(f), f.innerHTML = u[1] + r + u[2]; p--;)f = f.lastChild;
                    if (!j.support.tbody) {
                        var h = bt.test(r), m = "table" !== c || h ? "<table>" !== u[1] || h ? [] : f.childNodes : f.firstChild && f.firstChild.childNodes;
                        for (o = m.length - 1; o >= 0; --o)j.nodeName(m[o], "tbody") && !m[o].childNodes.length && m[o].parentNode.removeChild(m[o])
                    }
                    !j.support.leadingWhitespace && _t.test(r) && f.insertBefore(e.createTextNode(_t.exec(r)[0]), f.firstChild), r = f.childNodes
                } else r = e.createTextNode(r);
                var _;
                if (!j.support.appendChecked)if (r[0] && "number" == typeof(_ = r.length))for (o = 0; _ > o; o++)g(r[o]); else g(r);
                r.nodeType ? s.push(r) : s = j.merge(s, r)
            }
            if (i)for (a = function (t) {
                return !t.type || Ct.test(t.type)
            }, l = 0; s[l]; l++)if (!n || !j.nodeName(s[l], "script") || s[l].type && "text/javascript" !== s[l].type.toLowerCase()) {
                if (1 === s[l].nodeType) {
                    var v = j.grep(s[l].getElementsByTagName("script"), a);
                    s.splice.apply(s, [l + 1, 0].concat(v))
                }
                i.appendChild(s[l])
            } else n.push(s[l].parentNode ? s[l].parentNode.removeChild(s[l]) : s[l]);
            return s
        }, cleanData: function (t) {
            for (var e, i, n, a = j.cache, o = j.event.special, r = j.support.deleteExpando, s = 0; null != (n = t[s]); s++)if ((!n.nodeName || !j.noData[n.nodeName.toLowerCase()]) && (i = n[j.expando])) {
                if (e = a[i], e && e.events) {
                    for (var l in e.events)o[l] ? j.event.remove(n, l) : j.removeEvent(n, l, e.handle);
                    e.handle && (e.handle.elem = null)
                }
                r ? delete n[j.expando] : n.removeAttribute && n.removeAttribute(j.expando), delete a[i]
            }
        }
    });
    var Nt, Ot, $t, Mt = /alpha\([^)]*\)/i, It = /opacity=([^)]*)/, Vt = /([A-Z]|^ms)/g, jt = /^-?\d+(?:px)?$/i, Dt = /^-?\d/, Pt = /^([\-+])=([\-+.\de]+)/, Rt = {
        position: "absolute",
        visibility: "hidden",
        display: "block"
    }, Ut = ["Left", "Right"], Ft = ["Top", "Bottom"];
    j.fn.css = function (t, i) {
        return 2 === arguments.length && i === e ? this : j.access(this, t, i, !0, function (t, i, n) {
            return n !== e ? j.style(t, i, n) : j.css(t, i)
        })
    }, j.extend({
        cssHooks: {
            opacity: {
                get: function (t, e) {
                    if (e) {
                        var i = Nt(t, "opacity", "opacity");
                        return "" === i ? "1" : i
                    }
                    return t.style.opacity
                }
            }
        },
        cssNumber: {
            fillOpacity: !0,
            fontWeight: !0,
            lineHeight: !0,
            opacity: !0,
            orphans: !0,
            widows: !0,
            zIndex: !0,
            zoom: !0
        },
        cssProps: {"float": j.support.cssFloat ? "cssFloat" : "styleFloat"},
        style: function (t, i, n, a) {
            if (t && 3 !== t.nodeType && 8 !== t.nodeType && t.style) {
                var o, r, s = j.camelCase(i), l = t.style, c = j.cssHooks[s];
                if (i = j.cssProps[s] || s, n === e)return c && "get" in c && (o = c.get(t, !1, a)) !== e ? o : l[i];
                if (r = typeof n, "string" === r && (o = Pt.exec(n)) && (n = +(o[1] + 1) * +o[2] + parseFloat(j.css(t, i)), r = "number"), !(null == n || "number" === r && isNaN(n) || ("number" !== r || j.cssNumber[s] || (n += "px"), c && "set" in c && (n = c.set(t, n)) === e)))try {
                    l[i] = n
                } catch (d) {
                }
            }
        },
        css: function (t, i, n) {
            var a, o;
            return i = j.camelCase(i), o = j.cssHooks[i], i = j.cssProps[i] || i, "cssFloat" === i && (i = "float"), o && "get" in o && (a = o.get(t, !0, n)) !== e ? a : Nt ? Nt(t, i) : void 0
        },
        swap: function (t, e, i) {
            var n = {};
            for (var a in e)n[a] = t.style[a], t.style[a] = e[a];
            i.call(t);
            for (a in e)t.style[a] = n[a]
        }
    }), j.curCSS = j.css, j.each(["height", "width"], function (t, e) {
        j.cssHooks[e] = {
            get: function (t, i, n) {
                var a;
                return i ? 0 !== t.offsetWidth ? y(t, e, n) : (j.swap(t, Rt, function () {
                    a = y(t, e, n)
                }), a) : void 0
            }, set: function (t, e) {
                return jt.test(e) ? (e = parseFloat(e), e >= 0 ? e + "px" : void 0) : e
            }
        }
    }), j.support.opacity || (j.cssHooks.opacity = {
        get: function (t, e) {
            return It.test((e && t.currentStyle ? t.currentStyle.filter : t.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" : e ? "1" : ""
        }, set: function (t, e) {
            var i = t.style, n = t.currentStyle, a = j.isNumeric(e) ? "alpha(opacity=" + 100 * e + ")" : "", o = n && n.filter || i.filter || "";
            i.zoom = 1, e >= 1 && "" === j.trim(o.replace(Mt, "")) && (i.removeAttribute("filter"), n && !n.filter) || (i.filter = Mt.test(o) ? o.replace(Mt, a) : o + " " + a)
        }
    }), j(function () {
        j.support.reliableMarginRight || (j.cssHooks.marginRight = {
            get: function (t, e) {
                var i;
                return j.swap(t, {display: "inline-block"}, function () {
                    i = e ? Nt(t, "margin-right", "marginRight") : t.style.marginRight
                }), i
            }
        })
    }), M.defaultView && M.defaultView.getComputedStyle && (Ot = function (t, e) {
        var i, n, a;
        return e = e.replace(Vt, "-$1").toLowerCase(), (n = t.ownerDocument.defaultView) && (a = n.getComputedStyle(t, null)) && (i = a.getPropertyValue(e), "" !== i || j.contains(t.ownerDocument.documentElement, t) || (i = j.style(t, e))), i
    }), M.documentElement.currentStyle && ($t = function (t, e) {
        var i, n, a, o = t.currentStyle && t.currentStyle[e], r = t.style;
        return null === o && r && (a = r[e]) && (o = a), !jt.test(o) && Dt.test(o) && (i = r.left, n = t.runtimeStyle && t.runtimeStyle.left, n && (t.runtimeStyle.left = t.currentStyle.left), r.left = "fontSize" === e ? "1em" : o || 0, o = r.pixelLeft + "px", r.left = i, n && (t.runtimeStyle.left = n)), "" === o ? "auto" : o
    }), Nt = Ot || $t, j.expr && j.expr.filters && (j.expr.filters.hidden = function (t) {
        var e = t.offsetWidth, i = t.offsetHeight;
        return 0 === e && 0 === i || !j.support.reliableHiddenOffsets && "none" === (t.style && t.style.display || j.css(t, "display"))
    }, j.expr.filters.visible = function (t) {
        return !j.expr.filters.hidden(t)
    });
    var Bt, Ht, Yt = /%20/g, zt = /\[\]$/, Wt = /\r?\n/g, qt = /#.*$/, Kt = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm, Gt = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, Xt = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, Jt = /^(?:GET|HEAD)$/, Qt = /^\/\//, Zt = /\?/, te = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, ee = /^(?:select|textarea)/i, ie = /\s+/, ne = /([?&])_=[^&]*/, ae = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, oe = j.fn.load, re = {}, se = {}, le = ["*/"] + ["*"];
    try {
        Bt = V.href
    } catch (ce) {
        Bt = M.createElement("a"), Bt.href = "", Bt = Bt.href
    }
    Ht = ae.exec(Bt.toLowerCase()) || [], j.fn.extend({
        load: function (t, i, n) {
            if ("string" != typeof t && oe)return oe.apply(this, arguments);
            if (!this.length)return this;
            var a = t.indexOf(" ");
            if (a >= 0) {
                var o = t.slice(a, t.length);
                t = t.slice(0, a)
            }
            var r = "GET";
            i && (j.isFunction(i) ? (n = i, i = e) : "object" == typeof i && (i = j.param(i, j.ajaxSettings.traditional), r = "POST"));
            var s = this;
            return j.ajax({
                url: t, type: r, dataType: "html", data: i, complete: function (t, e, i) {
                    i = t.responseText, t.isResolved() && (t.done(function (t) {
                        i = t
                    }), s.html(o ? j("<div>").append(i.replace(te, "")).find(o) : i)), n && s.each(n, [i, e, t])
                }
            }), this
        }, serialize: function () {
            return j.param(this.serializeArray())
        }, serializeArray: function () {
            return this.map(function () {
                return this.elements ? j.makeArray(this.elements) : this
            }).filter(function () {
                return this.name && !this.disabled && (this.checked || ee.test(this.nodeName) || Gt.test(this.type))
            }).map(function (t, e) {
                var i = j(this).val();
                return null == i ? null : j.isArray(i) ? j.map(i, function (t, i) {
                    return {name: e.name, value: t.replace(Wt, "\r\n")}
                }) : {name: e.name, value: i.replace(Wt, "\r\n")}
            }).get()
        }
    }), j.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function (t, e) {
        j.fn[e] = function (t) {
            return this.on(e, t)
        }
    }), j.each(["get", "post"], function (t, i) {
        j[i] = function (t, n, a, o) {
            return j.isFunction(n) && (o = o || a, a = n, n = e), j.ajax({
                type: i,
                url: t,
                data: n,
                success: a,
                dataType: o
            })
        }
    }), j.extend({
        getScript: function (t, i) {
            return j.get(t, e, i, "script")
        },
        getJSON: function (t, e, i) {
            return j.get(t, e, i, "json")
        },
        ajaxSetup: function (t, e) {
            return e ? w(t, j.ajaxSettings) : (e = t, t = j.ajaxSettings), w(t, e), t
        },
        ajaxSettings: {
            url: Bt,
            isLocal: Xt.test(Ht[1]),
            global: !0,
            type: "GET",
            contentType: "application/x-www-form-urlencoded",
            processData: !0,
            async: !0,
            accepts: {
                xml: "application/xml, text/xml",
                html: "text/html",
                text: "text/plain",
                json: "application/json, text/javascript",
                "*": le
            },
            contents: {xml: /xml/, html: /html/, json: /json/},
            responseFields: {xml: "responseXML", text: "responseText"},
            converters: {"* text": t.String, "text html": !0, "text json": j.parseJSON, "text xml": j.parseXML},
            flatOptions: {context: !0, url: !0}
        },
        ajaxPrefilter: b(re),
        ajaxTransport: b(se),
        ajax: function (t, i) {
            function n(t, i, n, r) {
                if (2 !== b) {
                    b = 2, l && clearTimeout(l), s = e, o = r || "", w.readyState = t > 0 ? 4 : 0;
                    var c, u, v, y, T, E = i, C = n ? k(p, w, n) : e;
                    if (t >= 200 && 300 > t || 304 === t)if (p.ifModified && ((y = w.getResponseHeader("Last-Modified")) && (j.lastModified[a] = y), (T = w.getResponseHeader("Etag")) && (j.etag[a] = T)), 304 === t)E = "notmodified", c = !0; else try {
                        u = L(p, C), E = "success", c = !0
                    } catch (x) {
                        E = "parsererror", v = x
                    } else v = E, (!E || t) && (E = "error", 0 > t && (t = 0));
                    w.status = t, w.statusText = "" + (i || E), c ? m.resolveWith(f, [u, E, w]) : m.rejectWith(f, [w, E, v]), w.statusCode(_), _ = e, d && h.trigger("ajax" + (c ? "Success" : "Error"), [w, p, c ? u : v]), g.fireWith(f, [w, E]), d && (h.trigger("ajaxComplete", [w, p]), --j.active || j.event.trigger("ajaxStop"))
                }
            }

            "object" == typeof t && (i = t, t = e), i = i || {};
            var a, o, r, s, l, c, d, u, p = j.ajaxSetup({}, i), f = p.context || p, h = f !== p && (f.nodeType || f instanceof j) ? j(f) : j.event, m = j.Deferred(), g = j.Callbacks("once memory"), _ = p.statusCode || {}, v = {}, y = {}, b = 0, w = {
                readyState: 0,
                setRequestHeader: function (t, e) {
                    if (!b) {
                        var i = t.toLowerCase();
                        t = y[i] = y[i] || t, v[t] = e
                    }
                    return this
                },
                getAllResponseHeaders: function () {
                    return 2 === b ? o : null
                },
                getResponseHeader: function (t) {
                    var i;
                    if (2 === b) {
                        if (!r)for (r = {}; i = Kt.exec(o);)r[i[1].toLowerCase()] = i[2];
                        i = r[t.toLowerCase()]
                    }
                    return i === e ? null : i
                },
                overrideMimeType: function (t) {
                    return b || (p.mimeType = t), this
                },
                abort: function (t) {
                    return t = t || "abort", s && s.abort(t), n(0, t), this
                }
            };
            if (m.promise(w), w.success = w.done, w.error = w.fail, w.complete = g.add, w.statusCode = function (t) {
                    if (t) {
                        var e;
                        if (2 > b)for (e in t)_[e] = [_[e], t[e]]; else e = t[w.status], w.then(e, e)
                    }
                    return this
                }, p.url = ((t || p.url) + "").replace(qt, "").replace(Qt, Ht[1] + "//"), p.dataTypes = j.trim(p.dataType || "*").toLowerCase().split(ie), null == p.crossDomain && (c = ae.exec(p.url.toLowerCase()), p.crossDomain = !(!c || c[1] == Ht[1] && c[2] == Ht[2] && (c[3] || ("http:" === c[1] ? 80 : 443)) == (Ht[3] || ("http:" === Ht[1] ? 80 : 443)))), p.data && p.processData && "string" != typeof p.data && (p.data = j.param(p.data, p.traditional)), T(re, p, i, w), 2 === b)return !1;
            if (d = p.global, p.type = p.type.toUpperCase(), p.hasContent = !Jt.test(p.type), d && 0 === j.active++ && j.event.trigger("ajaxStart"), !p.hasContent && (p.data && (p.url += (Zt.test(p.url) ? "&" : "?") + p.data, delete p.data), a = p.url, p.cache === !1)) {
                var E = j.now(), C = p.url.replace(ne, "$1_=" + E);
                p.url = C + (C === p.url ? (Zt.test(p.url) ? "&" : "?") + "_=" + E : "")
            }
            (p.data && p.hasContent && p.contentType !== !1 || i.contentType) && w.setRequestHeader("Content-Type", p.contentType), p.ifModified && (a = a || p.url, j.lastModified[a] && w.setRequestHeader("If-Modified-Since", j.lastModified[a]), j.etag[a] && w.setRequestHeader("If-None-Match", j.etag[a])), w.setRequestHeader("Accept", p.dataTypes[0] && p.accepts[p.dataTypes[0]] ? p.accepts[p.dataTypes[0]] + ("*" !== p.dataTypes[0] ? ", " + le + "; q=0.01" : "") : p.accepts["*"]);
            for (u in p.headers)w.setRequestHeader(u, p.headers[u]);
            if (p.beforeSend && (p.beforeSend.call(f, w, p) === !1 || 2 === b))return w.abort(), !1;
            for (u in{success: 1, error: 1, complete: 1})w[u](p[u]);
            if (s = T(se, p, i, w)) {
                w.readyState = 1, d && h.trigger("ajaxSend", [w, p]), p.async && p.timeout > 0 && (l = setTimeout(function () {
                    w.abort("timeout")
                }, p.timeout));
                try {
                    b = 1, s.send(v, n)
                } catch (x) {
                    if (!(2 > b))throw x;
                    n(-1, x)
                }
            } else n(-1, "No Transport");
            return w
        },
        param: function (t, i) {
            var n = [], a = function (t, e) {
                e = j.isFunction(e) ? e() : e, n[n.length] = encodeURIComponent(t) + "=" + encodeURIComponent(e)
            };
            if (i === e && (i = j.ajaxSettings.traditional), j.isArray(t) || t.jquery && !j.isPlainObject(t))j.each(t, function () {
                a(this.name, this.value)
            }); else for (var o in t)E(o, t[o], i, a);
            return n.join("&").replace(Yt, "+")
        }
    }), j.extend({active: 0, lastModified: {}, etag: {}});
    var de = j.now(), ue = /(\=)\?(&|$)|\?\?/i;
    j.ajaxSetup({
        jsonp: "callback", jsonpCallback: function () {
            return j.expando + "_" + de++
        }
    }), j.ajaxPrefilter("json jsonp", function (e, i, n) {
        var a = "application/x-www-form-urlencoded" === e.contentType && "string" == typeof e.data;
        if ("jsonp" === e.dataTypes[0] || e.jsonp !== !1 && (ue.test(e.url) || a && ue.test(e.data))) {
            var o, r = e.jsonpCallback = j.isFunction(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, s = t[r], l = e.url, c = e.data, d = "$1" + r + "$2";
            return e.jsonp !== !1 && (l = l.replace(ue, d), e.url === l && (a && (c = c.replace(ue, d)), e.data === c && (l += (/\?/.test(l) ? "&" : "?") + e.jsonp + "=" + r))), e.url = l, e.data = c, t[r] = function (t) {
                o = [t]
            }, n.always(function () {
                t[r] = s, o && j.isFunction(s) && t[r](o[0])
            }), e.converters["script json"] = function () {
                return o || j.error(r + " was not called"), o[0]
            }, e.dataTypes[0] = "json", "script"
        }
    }), j.ajaxSetup({
        accepts: {script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},
        contents: {script: /javascript|ecmascript/},
        converters: {
            "text script": function (t) {
                return j.globalEval(t), t
            }
        }
    }), j.ajaxPrefilter("script", function (t) {
        t.cache === e && (t.cache = !1), t.crossDomain && (t.type = "GET", t.global = !1)
    }), j.ajaxTransport("script", function (t) {
        if (t.crossDomain) {
            var i, n = M.head || M.getElementsByTagName("head")[0] || M.documentElement;
            return {
                send: function (a, o) {
                    i = M.createElement("script"), i.async = "async", t.scriptCharset && (i.charset = t.scriptCharset), i.src = t.url, i.onload = i.onreadystatechange = function (t, a) {
                        (a || !i.readyState || /loaded|complete/.test(i.readyState)) && (i.onload = i.onreadystatechange = null, n && i.parentNode && n.removeChild(i), i = e, a || o(200, "success"))
                    }, n.insertBefore(i, n.firstChild)
                }, abort: function () {
                    i && i.onload(0, 1)
                }
            }
        }
    });
    var pe, fe = t.ActiveXObject ? function () {
        for (var t in pe)pe[t](0, 1)
    } : !1, he = 0;
    j.ajaxSettings.xhr = t.ActiveXObject ? function () {
        return !this.isLocal && C() || x()
    } : C, function (t) {
        j.extend(j.support, {ajax: !!t, cors: !!t && "withCredentials" in t})
    }(j.ajaxSettings.xhr()), j.support.ajax && j.ajaxTransport(function (i) {
        if (!i.crossDomain || j.support.cors) {
            var n;
            return {
                send: function (a, o) {
                    var r, s, l = i.xhr();
                    if (i.username ? l.open(i.type, i.url, i.async, i.username, i.password) : l.open(i.type, i.url, i.async), i.xhrFields)for (s in i.xhrFields)l[s] = i.xhrFields[s];
                    i.mimeType && l.overrideMimeType && l.overrideMimeType(i.mimeType), i.crossDomain || a["X-Requested-With"] || (a["X-Requested-With"] = "XMLHttpRequest");
                    try {
                        for (s in a)l.setRequestHeader(s, a[s])
                    } catch (c) {
                    }
                    l.send(i.hasContent && i.data || null), n = function (t, a) {
                        var s, c, d, u, p;
                        try {
                            if (n && (a || 4 === l.readyState))if (n = e, r && (l.onreadystatechange = j.noop, fe && delete pe[r]), a)4 !== l.readyState && l.abort(); else {
                                s = l.status, d = l.getAllResponseHeaders(), u = {}, p = l.responseXML, p && p.documentElement && (u.xml = p), u.text = l.responseText;
                                try {
                                    c = l.statusText
                                } catch (f) {
                                    c = ""
                                }
                                s || !i.isLocal || i.crossDomain ? 1223 === s && (s = 204) : s = u.text ? 200 : 404
                            }
                        } catch (h) {
                            a || o(-1, h)
                        }
                        u && o(s, c, u, d)
                    }, i.async && 4 !== l.readyState ? (r = ++he, fe && (pe || (pe = {}, j(t).unload(fe)), pe[r] = n), l.onreadystatechange = n) : n()
                }, abort: function () {
                    n && n(0, 1)
                }
            }
        }
    });
    var me, ge, _e, ve, ye = {}, be = /^(?:toggle|show|hide)$/, Te = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i, we = [["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], ["opacity"]];
    j.fn.extend({
        show: function (t, e, i) {
            var n, a;
            if (t || 0 === t)return this.animate(N("show", 3), t, e, i);
            for (var o = 0, r = this.length; r > o; o++)n = this[o], n.style && (a = n.style.display, j._data(n, "olddisplay") || "none" !== a || (a = n.style.display = ""), "" === a && "none" === j.css(n, "display") && j._data(n, "olddisplay", O(n.nodeName)));
            for (o = 0; r > o; o++)n = this[o], n.style && (a = n.style.display, ("" === a || "none" === a) && (n.style.display = j._data(n, "olddisplay") || ""));
            return this
        }, hide: function (t, e, i) {
            if (t || 0 === t)return this.animate(N("hide", 3), t, e, i);
            for (var n, a, o = 0, r = this.length; r > o; o++)n = this[o], n.style && (a = j.css(n, "display"), "none" === a || j._data(n, "olddisplay") || j._data(n, "olddisplay", a));
            for (o = 0; r > o; o++)this[o].style && (this[o].style.display = "none");
            return this
        }, _toggle: j.fn.toggle, toggle: function (t, e, i) {
            var n = "boolean" == typeof t;
            return j.isFunction(t) && j.isFunction(e) ? this._toggle.apply(this, arguments) : null == t || n ? this.each(function () {
                var e = n ? t : j(this).is(":hidden");
                j(this)[e ? "show" : "hide"]()
            }) : this.animate(N("toggle", 3), t, e, i), this
        }, fadeTo: function (t, e, i, n) {
            return this.filter(":hidden").css("opacity", 0).show().end().animate({opacity: e}, t, i, n)
        }, animate: function (t, e, i, n) {
            function a() {
                o.queue === !1 && j._mark(this);
                var e, i, n, a, r, s, l, c, d, u = j.extend({}, o), p = 1 === this.nodeType, f = p && j(this).is(":hidden");
                u.animatedProperties = {};
                for (n in t) {
                    if (e = j.camelCase(n), n !== e && (t[e] = t[n], delete t[n]), i = t[e], j.isArray(i) ? (u.animatedProperties[e] = i[1], i = t[e] = i[0]) : u.animatedProperties[e] = u.specialEasing && u.specialEasing[e] || u.easing || "swing", "hide" === i && f || "show" === i && !f)return u.complete.call(this);
                    !p || "height" !== e && "width" !== e || (u.overflow = [this.style.overflow, this.style.overflowX, this.style.overflowY], "inline" === j.css(this, "display") && "none" === j.css(this, "float") && (j.support.inlineBlockNeedsLayout && "inline" !== O(this.nodeName) ? this.style.zoom = 1 : this.style.display = "inline-block"))
                }
                null != u.overflow && (this.style.overflow = "hidden");
                for (n in t)a = new j.fx(this, u, n), i = t[n], be.test(i) ? (d = j._data(this, "toggle" + n) || ("toggle" === i ? f ? "show" : "hide" : 0), d ? (j._data(this, "toggle" + n, "show" === d ? "hide" : "show"), a[d]()) : a[i]()) : (r = Te.exec(i), s = a.cur(), r ? (l = parseFloat(r[2]), c = r[3] || (j.cssNumber[n] ? "" : "px"), "px" !== c && (j.style(this, n, (l || 1) + c), s = (l || 1) / a.cur() * s, j.style(this, n, s + c)), r[1] && (l = ("-=" === r[1] ? -1 : 1) * l + s), a.custom(s, l, c)) : a.custom(s, i, ""));
                return !0
            }

            var o = j.speed(e, i, n);
            return j.isEmptyObject(t) ? this.each(o.complete, [!1]) : (t = j.extend({}, t), o.queue === !1 ? this.each(a) : this.queue(o.queue, a))
        }, stop: function (t, i, n) {
            return "string" != typeof t && (n = i, i = t, t = e), i && t !== !1 && this.queue(t || "fx", []), this.each(function () {
                function e(t, e, i) {
                    var a = e[i];
                    j.removeData(t, i, !0), a.stop(n)
                }

                var i, a = !1, o = j.timers, r = j._data(this);
                if (n || j._unmark(!0, this), null == t)for (i in r)r[i] && r[i].stop && i.indexOf(".run") === i.length - 4 && e(this, r, i); else r[i = t + ".run"] && r[i].stop && e(this, r, i);
                for (i = o.length; i--;)o[i].elem !== this || null != t && o[i].queue !== t || (n ? o[i](!0) : o[i].saveState(), a = !0, o.splice(i, 1));
                n && a || j.dequeue(this, t)
            })
        }
    }), j.each({
        slideDown: N("show", 1),
        slideUp: N("hide", 1),
        slideToggle: N("toggle", 1),
        fadeIn: {opacity: "show"},
        fadeOut: {opacity: "hide"},
        fadeToggle: {opacity: "toggle"}
    }, function (t, e) {
        j.fn[t] = function (t, i, n) {
            return this.animate(e, t, i, n)
        }
    }), j.extend({
        speed: function (t, e, i) {
            var n = t && "object" == typeof t ? j.extend({}, t) : {
                complete: i || !i && e || j.isFunction(t) && t,
                duration: t,
                easing: i && e || e && !j.isFunction(e) && e
            };
            return n.duration = j.fx.off ? 0 : "number" == typeof n.duration ? n.duration : n.duration in j.fx.speeds ? j.fx.speeds[n.duration] : j.fx.speeds._default, (null == n.queue || n.queue === !0) && (n.queue = "fx"), n.old = n.complete, n.complete = function (t) {
                j.isFunction(n.old) && n.old.call(this), n.queue ? j.dequeue(this, n.queue) : t !== !1 && j._unmark(this)
            }, n
        }, easing: {
            linear: function (t, e, i, n) {
                return i + n * t
            }, swing: function (t, e, i, n) {
                return (-Math.cos(t * Math.PI) / 2 + .5) * n + i
            }
        }, timers: [], fx: function (t, e, i) {
            this.options = e, this.elem = t, this.prop = i, e.orig = e.orig || {}
        }
    }), j.fx.prototype = {
        update: function () {
            this.options.step && this.options.step.call(this.elem, this.now, this), (j.fx.step[this.prop] || j.fx.step._default)(this)
        }, cur: function () {
            if (null != this.elem[this.prop] && (!this.elem.style || null == this.elem.style[this.prop]))return this.elem[this.prop];
            var t, e = j.css(this.elem, this.prop);
            return isNaN(t = parseFloat(e)) ? e && "auto" !== e ? e : 0 : t
        }, custom: function (t, i, n) {
            function a(t) {
                return o.step(t)
            }

            var o = this, r = j.fx;
            this.startTime = ve || S(), this.end = i, this.now = this.start = t, this.pos = this.state = 0, this.unit = n || this.unit || (j.cssNumber[this.prop] ? "" : "px"), a.queue = this.options.queue, a.elem = this.elem, a.saveState = function () {
                o.options.hide && j._data(o.elem, "fxshow" + o.prop) === e && j._data(o.elem, "fxshow" + o.prop, o.start)
            }, a() && j.timers.push(a) && !_e && (_e = setInterval(r.tick, r.interval))
        }, show: function () {
            var t = j._data(this.elem, "fxshow" + this.prop);
            this.options.orig[this.prop] = t || j.style(this.elem, this.prop), this.options.show = !0, t !== e ? this.custom(this.cur(), t) : this.custom("width" === this.prop || "height" === this.prop ? 1 : 0, this.cur()), j(this.elem).show()
        }, hide: function () {
            this.options.orig[this.prop] = j._data(this.elem, "fxshow" + this.prop) || j.style(this.elem, this.prop), this.options.hide = !0, this.custom(this.cur(), 0)
        }, step: function (t) {
            var e, i, n, a = ve || S(), o = !0, r = this.elem, s = this.options;
            if (t || a >= s.duration + this.startTime) {
                this.now = this.end, this.pos = this.state = 1, this.update(), s.animatedProperties[this.prop] = !0;
                for (e in s.animatedProperties)s.animatedProperties[e] !== !0 && (o = !1);
                if (o) {
                    if (null == s.overflow || j.support.shrinkWrapBlocks || j.each(["", "X", "Y"], function (t, e) {
                            r.style["overflow" + e] = s.overflow[t]
                        }), s.hide && j(r).hide(), s.hide || s.show)for (e in s.animatedProperties)j.style(r, e, s.orig[e]), j.removeData(r, "fxshow" + e, !0), j.removeData(r, "toggle" + e, !0);
                    n = s.complete, n && (s.complete = !1, n.call(r))
                }
                return !1
            }
            return s.duration == 1 / 0 ? this.now = a : (i = a - this.startTime, this.state = i / s.duration, this.pos = j.easing[s.animatedProperties[this.prop]](this.state, i, 0, 1, s.duration), this.now = this.start + (this.end - this.start) * this.pos), this.update(), !0
        }
    }, j.extend(j.fx, {
        tick: function () {
            for (var t, e = j.timers, i = 0; i < e.length; i++)t = e[i], t() || e[i] !== t || e.splice(i--, 1);
            e.length || j.fx.stop()
        }, interval: 13, stop: function () {
            clearInterval(_e), _e = null
        }, speeds: {slow: 600, fast: 200, _default: 400}, step: {
            opacity: function (t) {
                j.style(t.elem, "opacity", t.now)
            }, _default: function (t) {
                t.elem.style && null != t.elem.style[t.prop] ? t.elem.style[t.prop] = t.now + t.unit : t.elem[t.prop] = t.now
            }
        }
    }), j.each(["width", "height"], function (t, e) {
        j.fx.step[e] = function (t) {
            j.style(t.elem, e, Math.max(0, t.now) + t.unit)
        }
    }), j.expr && j.expr.filters && (j.expr.filters.animated = function (t) {
        return j.grep(j.timers, function (e) {
            return t === e.elem
        }).length
    });
    var Ee = /^t(?:able|d|h)$/i, ke = /^(?:body|html)$/i;
    "getBoundingClientRect" in M.documentElement ? j.fn.offset = function (t) {
        var e, i = this[0];
        if (t)return this.each(function (e) {
            j.offset.setOffset(this, t, e)
        });
        if (!i || !i.ownerDocument)return null;
        if (i === i.ownerDocument.body)return j.offset.bodyOffset(i);
        try {
            e = i.getBoundingClientRect()
        } catch (n) {
        }
        var a = i.ownerDocument, o = a.documentElement;
        if (!e || !j.contains(o, i))return e ? {top: e.top, left: e.left} : {top: 0, left: 0};
        var r = a.body, s = $(a), l = o.clientTop || r.clientTop || 0, c = o.clientLeft || r.clientLeft || 0, d = s.pageYOffset || j.support.boxModel && o.scrollTop || r.scrollTop, u = s.pageXOffset || j.support.boxModel && o.scrollLeft || r.scrollLeft, p = e.top + d - l, f = e.left + u - c;
        return {top: p, left: f}
    } : j.fn.offset = function (t) {
        var e = this[0];
        if (t)return this.each(function (e) {
            j.offset.setOffset(this, t, e)
        });
        if (!e || !e.ownerDocument)return null;
        if (e === e.ownerDocument.body)return j.offset.bodyOffset(e);
        for (var i, n = e.offsetParent, a = e, o = e.ownerDocument, r = o.documentElement, s = o.body, l = o.defaultView, c = l ? l.getComputedStyle(e, null) : e.currentStyle, d = e.offsetTop, u = e.offsetLeft; (e = e.parentNode) && e !== s && e !== r && (!j.support.fixedPosition || "fixed" !== c.position);)i = l ? l.getComputedStyle(e, null) : e.currentStyle, d -= e.scrollTop, u -= e.scrollLeft, e === n && (d += e.offsetTop, u += e.offsetLeft, !j.support.doesNotAddBorder || j.support.doesAddBorderForTableAndCells && Ee.test(e.nodeName) || (d += parseFloat(i.borderTopWidth) || 0, u += parseFloat(i.borderLeftWidth) || 0), a = n, n = e.offsetParent), j.support.subtractsBorderForOverflowNotVisible && "visible" !== i.overflow && (d += parseFloat(i.borderTopWidth) || 0, u += parseFloat(i.borderLeftWidth) || 0), c = i;
        return ("relative" === c.position || "static" === c.position) && (d += s.offsetTop, u += s.offsetLeft), j.support.fixedPosition && "fixed" === c.position && (d += Math.max(r.scrollTop, s.scrollTop), u += Math.max(r.scrollLeft, s.scrollLeft)), {
            top: d,
            left: u
        }
    }, j.offset = {
        bodyOffset: function (t) {
            var e = t.offsetTop, i = t.offsetLeft;
            return j.support.doesNotIncludeMarginInBodyOffset && (e += parseFloat(j.css(t, "marginTop")) || 0, i += parseFloat(j.css(t, "marginLeft")) || 0), {
                top: e,
                left: i
            }
        }, setOffset: function (t, e, i) {
            var n = j.css(t, "position");
            "static" === n && (t.style.position = "relative");
            var a, o, r = j(t), s = r.offset(), l = j.css(t, "top"), c = j.css(t, "left"), d = ("absolute" === n || "fixed" === n) && j.inArray("auto", [l, c]) > -1, u = {}, p = {};
            d ? (p = r.position(), a = p.top, o = p.left) : (a = parseFloat(l) || 0, o = parseFloat(c) || 0), j.isFunction(e) && (e = e.call(t, i, s)), null != e.top && (u.top = e.top - s.top + a), null != e.left && (u.left = e.left - s.left + o), "using" in e ? e.using.call(t, u) : r.css(u)
        }
    }, j.fn.extend({
        position: function () {
            if (!this[0])return null;
            var t = this[0], e = this.offsetParent(), i = this.offset(), n = ke.test(e[0].nodeName) ? {
                top: 0,
                left: 0
            } : e.offset();
            return i.top -= parseFloat(j.css(t, "marginTop")) || 0, i.left -= parseFloat(j.css(t, "marginLeft")) || 0, n.top += parseFloat(j.css(e[0], "borderTopWidth")) || 0, n.left += parseFloat(j.css(e[0], "borderLeftWidth")) || 0, {
                top: i.top - n.top,
                left: i.left - n.left
            }
        }, offsetParent: function () {
            return this.map(function () {
                for (var t = this.offsetParent || M.body; t && !ke.test(t.nodeName) && "static" === j.css(t, "position");)t = t.offsetParent;
                return t
            })
        }
    }), j.each(["Left", "Top"], function (t, i) {
        var n = "scroll" + i;
        j.fn[n] = function (i) {
            var a, o;
            return i === e ? (a = this[0]) ? (o = $(a), o ? "pageXOffset" in o ? o[t ? "pageYOffset" : "pageXOffset"] : j.support.boxModel && o.document.documentElement[n] || o.document.body[n] : a[n]) : null : this.each(function () {
                o = $(this), o ? o.scrollTo(t ? j(o).scrollLeft() : i, t ? i : j(o).scrollTop()) : this[n] = i
            })
        }
    }), j.each(["Height", "Width"], function (t, i) {
        var n = i.toLowerCase();
        j.fn["inner" + i] = function () {
            var t = this[0];
            return t ? t.style ? parseFloat(j.css(t, n, "padding")) : this[n]() : null
        }, j.fn["outer" + i] = function (t) {
            var e = this[0];
            return e ? e.style ? parseFloat(j.css(e, n, t ? "margin" : "border")) : this[n]() : null
        }, j.fn[n] = function (t) {
            var a = this[0];
            if (!a)return null == t ? null : this;
            if (j.isFunction(t))return this.each(function (e) {
                var i = j(this);
                i[n](t.call(this, e, i[n]()))
            });
            if (j.isWindow(a)) {
                var o = a.document.documentElement["client" + i], r = a.document.body;
                return "CSS1Compat" === a.document.compatMode && o || r && r["client" + i] || o
            }
            if (9 === a.nodeType)return Math.max(a.documentElement["client" + i], a.body["scroll" + i], a.documentElement["scroll" + i], a.body["offset" + i], a.documentElement["offset" + i]);
            if (t === e) {
                var s = j.css(a, n), l = parseFloat(s);
                return j.isNumeric(l) ? l : s
            }
            return this.css(n, "string" == typeof t ? t : t + "px")
        }
    }), t.jQuery = t.$ = j
}(window), function (t) {
    var e = navigator.userAgent.toLowerCase(), i = t.browser;
    t.extend(i, {
        iPhone: /iphone/.test(e),
        iPad: e.match(/\b(ipod|iphone|ipad)\b/) || !1,
        atwin: /win/.test(e),
        andorid: /android/.test(e),
        mobile: /mobile/.test(e),
        chrome: e.indexOf("chrome/") > -1,
        supportFlash: function () {
            var t = navigator;
            if (t.plugins && t.plugins["Shockwave Flash"])return !0;
            if (window.ActiveXObject)try {
                var e = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
                if (e)return !0
            } catch (i) {
                return !1
            }
            return !1
        }(),
        flashVersion: function (t) {
            var e = navigator, i = [0, 0, 0], n = null;
            if (e.plugins && e.plugins["Shockwave Flash"])n = e.plugins["Shockwave Flash"].description, !n || "undefined" != typeof e.mimeTypes && e.mimeTypes["application/x-shockwave-flash"] && !e.mimeTypes["application/x-shockwave-flash"].enabledPlugin || (n = n.replace(/^.*\s+(\S+\s+\S+$)/, "$1"), i[0] = parseInt(n.replace(/^(.*)\..*$/, "$1"), 10), i[1] = parseInt(n.replace(/^.*\.(.*)\s.*$/, "$1"), 10), i[2] = /[a-zA-Z]/.test(n) ? parseInt(n.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0), n = null; else if (window.ActiveXObject)try {
                var a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
                a && (n = a.GetVariable("$version"), n = n.split(" ")[1].split(","), i = [parseInt(n[0], 10), parseInt(n[1], 10), parseInt(n[2], 10)])
            } catch (o) {
            }
            return i
        }(t)
    }), IE6 = !1, i.msie ? IE6 = "6.0" === i.version : i.msie = !!window.ActiveXObject || "ActiveXObject" in window
}(jQuery), window.trace || function (t) {
    function e() {
    }

    function i(t) {
        var e = new Image;
        e.onload = e.onerror = function () {
            e = null
        }, e.src = n + t + "&t=" + String((new Date).getTime()).slice(0, 6)
    }

    var n = "//220.181.155.12/jslog?data=", a = [], o = "", r = !1;
    e.ok = e.time = e.timeEnd = e.report = function () {
    }, e.warn = function (t) {
        arguments.length > 1 && (t = a.join.call(arguments, "◆")), a.push("[2]:" + t)
    }, e.error = function (t) {
        arguments.length > 1 && (t = a.join.call(arguments, ";")), o += encodeURIComponent(t) + "---", (r || o > 500) && (i(o), o = ""), a.push("[3]:" + t)
    }, e.eq = function (t, i, n) {
        t === i || e.error("EQ-ERROR:" + (n || ""))
    }, e.find = function (t, i) {
        t || e.error("FIND-ERROR:" + (i || ""))
    }, e.assert = function (t, i) {
        t === !0 || e.error("ASSERT-ERROR:" + (i || ""))
    }, e.sendLog = function (t) {
        return t ? void i(encodeURIComponent(t)) : (o && (i(o), o = ""), void(r = !0))
    }, e.cache = a, t.trace = e
}(window), Cookie = {
    set: function (t, e, i) {
        i || (i = {});
        var n = new Date, a = i.exp;
        "number" == typeof a ? n.setTime(n.getTime() + 36e5 * a) : "forever" === a ? n.setFullYear(n.getFullYear() + 50) : null === e ? (e = "", n.setTime(n.getTime() - 36e5)) : n = a instanceof Date ? a : "", document.cookie = t + "=" + encodeURIComponent(e) + (n && "; expires=" + n.toUTCString()) + "; domain=" + (i.domain || "." + LETV.CONSTANT.otherCookie.LETV_COM) + "; path=" + (i.path || "/") + (i.secure ? "; secure" : "")
    }, get: function (t) {
        t += "=";
        for (var e, i = (document.cookie || "").split(";"), n = t.length, a = i.length; a--;)if (e = i[a].replace(/^\s+/, ""), e.slice(0, n) === t)return decodeURIComponent(e.slice(n)).replace(/\s+$/, "");
        return ""
    }
}, LTK["air/util/clip"] = function (t, e, i) {
    var n = function (t, e, i, n) {
        if (!t)return "";
        var a = t.length;
        if (e >= 2 * a)return t;
        "number" != typeof i && (n = i, i = e), "undefined" == typeof n && (n = "..");
        for (var o = 0, r = 0, s = 0; a > s; s++)if (t.charCodeAt(s) > 255 ? r += 2 : r++, r > e && 0 === o && (o = s), r > i)return t.slice(0, o) + n;
        return t
    };
    i.exports = n
}, function (window) {
    try {
        document.domain = LETV.CONSTANT.host.LETV_COM
    } catch (e) {
    }
    try {
        document.execCommand("BackgroundImageCache", !1, !0)
    } catch (e) {
    }
    window.LETV || (window.LETV = {}), LETV.using = function () {
        var t, e, i, n, a = arguments, o = this;
        if (i = a[0], n = a[1], i && i.indexOf("."))for (e = i.split("."), t = "LETV" == e[0] ? 1 : 0; t < e.length; t++) {
            if (!o[e[t]] && n)return null;
            o[e[t]] = o[e[t]] || {}, o = o[e[t]]
        } else o[i] = o[i] || {};
        return o
    }, LETV.cookie = function (t, e, i) {
        return "undefined" == typeof e ? Cookie.get(t) : (i && (i.exp = "number" == typeof i.expires ? 24 * i.expires : i.expires), void Cookie.set(t, e, i))
    }, LETV.json = function (t) {
        return "string" == typeof t ? this.json.toObject(t) : this.json.toJSON(t)
    }, LETV.json.toJSON = function (t) {
        var e = typeof t;
        switch ("object" == e && (e = Array == t.constructor ? "array" : RegExp == t.constructor ? "regexp" : "object"), e) {
            case"undefined":
            case"unknown":
                return;
            case"function":
            case"boolean":
            case"regexp":
                return t.toString();
            case"number":
                return isFinite(t) ? t.toString() : "null";
            case"string":
                return '"' + t.replace(/(\\|\")/g, "\\$1").replace(/\n|\r|\t/g, function () {
                        var t = arguments[0];
                        return "\n" == t ? "\\n" : "\r" == t ? "\\r" : "	" == t ? "\\t" : ""
                    }) + '"';
            case"object":
                if (null === t)return "null";
                var i = [];
                for (var n in t) {
                    var a = this.toJSON(t[n]);
                    void 0 !== a && i.push(this.toJSON(n) + ":" + a)
                }
                return "{" + i.join(",") + "}";
            case"array":
                for (var i = [], o = 0; o < t.length; o++) {
                    var a = this.toJSON(t[o]);
                    void 0 !== a && i.push(a)
                }
                return "[" + i.join(",") + "]"
        }
    }, LETV.json.toObject = function (strjson) {
        return eval("(" + strjson + ")")
    }, LETV.Base64 = {
        decode: function (t) {
            var e, i, n, a, o, r, s, l, c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", d = 0, u = 0, p = "", f = [];
            if (!t)return t;
            t += "";
            do a = c.indexOf(t.charAt(d++)), o = c.indexOf(t.charAt(d++)), r = c.indexOf(t.charAt(d++)), s = c.indexOf(t.charAt(d++)), l = a << 18 | o << 12 | r << 6 | s, e = l >> 16 & 255, i = l >> 8 & 255, n = 255 & l, 64 == r ? f[u++] = String.fromCharCode(e) : 64 == s ? f[u++] = String.fromCharCode(e, i) : f[u++] = String.fromCharCode(e, i, n); while (d < t.length);
            return p = f.join(""), this.utf8_decode(p)
        }, encode: function (t) {
            var e, i, n, a, o, r, s, l, c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", d = 0, u = 0, p = "", f = [];
            if (!t)return t;
            t = this.utf8_encode(t + "");
            do e = t.charCodeAt(d++), i = t.charCodeAt(d++), n = t.charCodeAt(d++), l = e << 16 | i << 8 | n, a = l >> 18 & 63, o = l >> 12 & 63, r = l >> 6 & 63, s = 63 & l, f[u++] = c.charAt(a) + c.charAt(o) + c.charAt(r) + c.charAt(s); while (d < t.length);
            switch (p = f.join(""), t.length % 3) {
                case 1:
                    p = p.slice(0, -2) + "==";
                    break;
                case 2:
                    p = p.slice(0, -1) + "="
            }
            return p
        }, utf8_encode: function (t) {
            var e, i, n = t + "", a = "", o = 0;
            e = i = 0, o = n.length;
            for (var r = 0; o > r; r++) {
                var s = n.charCodeAt(r), l = null;
                128 > s ? i++ : l = s > 127 && 2048 > s ? String.fromCharCode(s >> 6 | 192) + String.fromCharCode(63 & s | 128) : String.fromCharCode(s >> 12 | 224) + String.fromCharCode(s >> 6 & 63 | 128) + String.fromCharCode(63 & s | 128), null !== l && (i > e && (a += n.substring(e, i)), a += l, e = i = r + 1)
            }
            return i > e && (a += n.substring(e, n.length)), a
        }, utf8_decode: function (t) {
            var e = [], i = 0, n = 0, a = 0, o = 0, r = 0;
            for (t += ""; i < t.length;)a = t.charCodeAt(i), 128 > a ? (e[n++] = String.fromCharCode(a), i++) : a > 191 && 224 > a ? (o = t.charCodeAt(i + 1), e[n++] = String.fromCharCode((31 & a) << 6 | 63 & o), i += 2) : (o = t.charCodeAt(i + 1), r = t.charCodeAt(i + 2), e[n++] = String.fromCharCode((15 & a) << 12 | (63 & o) << 6 | 63 & r), i += 3);
            return e.join("")
        }
    }, $.extend(LETV.using("Utils"), {
        reallength: function (t) {
            return t.replace(/[^\x00-\xff]/g, "^^").length
        }, clipstring: function (t, e) {
            if (!t || !e)return "";
            var i = 0, n = 0, a = "";
            for (n = 0; n < t.length; n++) {
                if (t.charCodeAt(n) > 255 ? i += 2 : i++, i > e)return a + "..";
                a += t.charAt(n)
            }
            return t
        }, gotoAnchor: function (t, e, i) {
            var n = $(t);
            if (!(n.length < 0)) {
                var a = $(window), o = $(window.document.documentElement), r = navigator.userAgent.toLowerCase();
                r.indexOf("webkit") > -1 && (o = $(window.document.body));
                var s = n.offset();
                if (e) {
                    var l = s.top - a.scrollTop(), c = a.height() - l;
                    return void(c < n.outerHeight() && o.animate({scrollTop: s.top}, "normal"))
                }
                i || ".Comment" != t ? o.animate({scrollTop: s.top}, "normal") : o.animate({scrollTop: s.top}, "normal", null, function () {
                    $(this).find(".j-cmt-pic").click()
                })
            }
        }, gotoComment: function (t) {
            LETV.Utils.gotoAnchor(".Comment", {text: !0})
        }, copyToClipboard: function (t) {
            return window.clipboardData ? (window.clipboardData.setData("Text", t), !0) : !1
        }, getQuery: function (t) {
            for (var e = location.search.replace("?", "").split("&"), i = 0; i < e.length; i++)if (e[i].split("=")[0] == t)return e[i].substring(e[i].indexOf("=") + 1, e[i].length);
            return null
        }, timeFormat: function (t) {
            var e, i, n = t % 60;
            10 > n && (n = "0" + n);
            var a = Math.floor(t / 60);
            return e = parseInt(a) % 60, 10 > a ? "0" + e + ":" + n : a > 60 ? (i = Math.floor(a / 60), 10 > e ? "0" + i + ":" + e + ":" + n : i + ":" + e + ":" + n) : e + ":" + n
        }
    }), $.extend(LETV.using("Common"), {
        timer: function (t, e) {
            var i = {name: "TIMER#0000", interval: 1e3, immediately: !0};
            if (e && $.extend(i, e), "function" != typeof t)throw new Error("您没有为Timer指定有效的执行函数。");
            var n = null, a = 0, o = {
                start: function () {
                    null != n && (clearInterval(n), n = null);
                    var e = function () {
                        a += 1, t(o)
                    };
                    n = setInterval(e, i.interval), i.immediately && e()
                }, stop: function () {
                    null != n && (clearInterval(n), n = null)
                }, getCounter: function () {
                    return a
                }
            };
            return o
        }, gotoAnchor: LETV.Utils.gotoAnchor
    })
}(window), function () {
    function t(t) {
        return /le.com/.test(location.hostname) ? (e.push("(//" + t + ")"), t.replace(/letv.com/, "le.com")) : t
    }

    var e = [];
    LETV.using("CONSTANT").host = {
        API_LIVE_LETV_COM: "api.live.letv.com",
        WWW_LETV_COM: t("www.letv.com"),
        SO_LETV_COM: t("so.letv.com"),
        SSO_LETV_COM: t("sso.letv.com"),
        DATA_SO_LETV_COM: "data.so.letv.com",
        LE_SO_LETV_COM: "le.so.letv.com",
        "V-API_LETV_COM": "v-api.letv.com",
        MOBILE_LETV_COM: t("mobile.letv.com"),
        HD_MY_LETV_COM: t("hd.my.letv.com"),
        HD_LETV_COM: t("hd.letv.com"),
        CLINET_PC_LETV_COM: "client.pc.letv.com",
        PC_LETV_COM: t("pc.letv.com"),
        ST_LIVE_LETV_COM: "st.live.letv.com",
        LIVE_GSLB_LETV_COM: "live.gslb.letv.com",
        PLAYER_HZ_LETV_COM: "player.hz.letv.com",
        APP_CLIENT_LETV_COM: "app.client.letv.com",
        LIVE_LETV_COM: t("live.letv.com"),
        API_APP_LETV_COM: "api.app.letv.com",
        APP_LETV_COM: "app.letv.com",
        PASSPORT_LETV_COM: "passport.letv.com",
        I_HOT_VRS_LETV_COM: "i.hot.vrs.letv.com",
        HOT_VRS_LETV_COM: "hot.vrs.letv.com",
        YUANXIAN_LETV_COM: t("yuanxian.letv.com"),
        HK_YUANXIAN_LETV_COM: "hk.yuanxian.letv.com",
        TOP_LETV_COM: t("top.letv.com"),
        ZONGYI_LETV_COM: t("zongyi.letv.com"),
        COMIC_LETV_COM: t("comic.letv.com"),
        MOVIE_LETV_COM: t("movie.letv.com"),
        TV_LETV_COM: t("tv.letv.com"),
        HK_API_HDTV_LETV_COM: "hk.api.hdtv.letv.com",
        API_MY_LETV_COM: t("api.my.letv.com"),
        VCS_MY_LETV_COM: t("vcs.my.letv.com"),
        MY_LETV_COM: t("i.le.com"),
        LEPAY_LETV_COM: "lepay.letv.com",
        RVS_LETV_COM: "rvs.letv.com",
        API_CMS_LETV_COM: "api.cms.letv.com",
        OPEN_API_LETV_COM: "open.api.letv.com",
        VIP_LETV_COM: "vip.letv.com",
        INDEX_LETV_COM: "index.letv.com",
        V_STAT_LETV_COM: "v.stat.letv.com",
        DB_API_LETV_COM: "db.api.letv.com",
        SPORT_API_LETV_COM: "sport.api.letv.com",
        STATIC_API_LETV_COM: "static.api.letv.com",
        HD_API_LETV_COM: "hd.api.letv.com",
        V_API_LETV_COM: "v.api.letv.com",
        API_LETV_COM: t("api.letv.com"),
        DATA_API_LETV_COM: "data.api.letv.com",
        REC_LETV_COM: "rec.letv.com",
        DC_LETV_COM: "dc.letv.com",
        M_LETV_COM: t("m.letv.com"),
        MEDAL_LETV_COM: "medal.letv.com",
        API_MEDAL_LETV_COM: "api.medal.letv.com",
        TASK_LETV_COM: "task.letv.com",
        ARK_LETV_COM: "ark.letv.com",
        STAT_LETV_COM: "stat.letv.com",
        SPORTS_LETV_COM: "sports.letv.com",
        APP_SPORTS_LETV_COM: "app.sports.letv.com",
        BBS_LETV_COM: t("bbs.letv.com"),
        "360_M_LETV_COM": "360.m.letv.com",
        PINGLUN_LETV_COM: "pinglun.le.com",
        ITOOLS_M_LETV_COM: "itools.m.letv.com",
        MINISITE_LETV_COM: "minisite.letv.com",
        ADMIN_LEJIFEN_LETV_COM: "admin.lejifen.letv.com",
        LIST_LETV_COM: t("list.letv.com"),
        SHOP_LETV_COM: "shop.letv.com",
        HK_SHOP_LETV_COM: "hk.shop.letv.com",
        ZHIFU_LETV_COM: t("zhifu.letv.com"),
        API_ZHIFU_LETV_COM: t("api.zhifu.letv.com"),
        HK_API_ZHIFU_LETV_COM: t("hk.api.zhifu.letv.com"),
        ABOUTUS_LETV_COM: t("aboutus.letv.com"),
        NBA_LETV_COM: "nba.letv.com",
        SPORTS_M_LETV_COM: "sports.m.letv.com",
        TW_LETV_COM: "tw.letv.com",
        CLOUD_LETV_COM: "cloud.letv.com",
        DUOPING_GO_LETV_COM: "duoping.go.letv.com",
        DYNAMIC_APP_M_LETV_COM: "dynamic.app.m.letv.com",
        APP_M_LETV_COM: "app.m.letv.com",
        MUSIC_LETV_COM: t("music.letv.com"),
        ENT_LETV_COM: t("ent.letv.com"),
        AUTO_LETV_COM: t("auto.letv.com"),
        BEST_LETV_COM: t("best.letv.com"),
        FASHION_LETV_COM: t("fashion.letv.com"),
        TRAVEL_LETV_COM: t("travel.letv.com"),
        DEC_DC_LETV_COM: "dev.dc.letv.com",
        DOWN_M_LETV_COM: "down.m.letv.com",
        TES_TOUCH_MY_LETV_COM: t("tes.touch.my.letv.com"),
        PORTRAY_MY_LETV_COM: "portray.my.letv.com",
        API_G_HDTV_LETV_COM: "api.g.hdtv.letv.com",
        CHUANG_LETV_COM: t("chuang.letv.com"),
        GRADE_MY_LETV_COM: "grade.my.le.com",
        SEARCH_LEKAN_LETV_COM: "search.lekan.letv.com",
        Z2014_LETV_COM: t("2014.letv.com"),
        HDLETV_COM: "hdletv.com",
        Q_LETV_COM: "q.letv.com",
        C0_LETV_COM: "c0.letv.com",
        PRO_HOYE_LETV_COM: "pro.hoye.letv.com",
        LETV_COM: t("letv.com"),
        N_API_LIVE_LETV_COM: "n.api.live.letv.com",
        API_CHUANG_LETV_COM: t("api.chuang.letv.com"),
        ISE_YUANXIAN_LETV_COM: "ise.yuanxian.le.com",
        D_API_M_LETV_COM: "d.api.m.le.com",
        MSG_TOUCH_MY_LE_COM: t("msg.touch.my.le.com"),
        seo_contentservice_letv_cn: "seo-contentservice.letv.cn"
    }, LETV.using("CONSTANT").otherCookie = {
        WWW_LETV_COM: t("www.letv.com"),
        SO_LETV_COM: t("so.letv.com"),
        LETV_COM: t("letv.com")
    }, /le.com/.test(location.hostname) && $(document).ready(function () {
        for (var t = (new Date, new RegExp(e.join("|"))), i = $("a"), n = i.length; n-- > 0;) {
            var a = $(i[n]), o = a.attr("href") || "", r = a.attr("data-href") || "";
            t.test(o + r) && (o && a.attr("href", o.replace("letv.com", "le.com")), r && a.attr("data-href", r.replace("letv.com", "le.com")))
        }
        for (var s = $("form"), l = s.length; l-- > 0;) {
            var c = $(s[l]), d = c.attr("action") || "";
            t.test(d) && c.attr("action", d.replace("letv.com", "le.com"))
        }
    })
}(), function () {
    function t(e) {
        var i = 1;
        !function () {
            (t.local = t.getLocal()) ? !function () {
                if (i++, t.asToJs) {
                    try {
                        t.local.available = t.getLocal().callAS(), t.local.message = "Successful."
                    } catch (n) {
                        try {
                            console.warn("But your DOMAIN is NOT ALLOWED.")
                        } catch (n) {
                        }
                        t.local.available = !1, t.local.message = "But your DOMAIN is NOT ALLOWED."
                    }
                    e(t.local)
                } else {
                    if (i > 150) {
                        try {
                            console.warn("But network failure!")
                        } catch (n) {
                        }
                        return t.local.available = !1, t.local.message = "But network failure!", void e(t.local)
                    }
                    setTimeout(arguments.callee, 30)
                }
            }() : setTimeout(arguments.callee, 20)
        }()
    }

    t.getLocal = function () {
        var t = document.getElementById("LETV-STORAGE"), e = null;
        try {
            e = t.contentWindow.lookieLocal
        } catch (i) {
        }
        return e
    }, t.ifrReady = function () {
        t.asToJs = !0
    }, t.cross = function () {
        return t.crossDomain
    }, window.Lookie = t;
    var e = function () {
        if (!e.inited) {
            e.inited = !0, t.crossDomain = !0;
            var i = '<iframe src="http://' + LETV.CONSTANT.host.ABOUTUS_LETV_COM + '/pzt/le_lookie_agent/index.shtml" id="LETV-STORAGE" height="1" width="1" />', n = document.createElement("div");
            n.style.position = "absolute", n.style.zIndex = "-1", n.style.height = "1px", function () {
                document.body ? (n.innerHTML = i, document.body.insertBefore(n, document.body.firstChild)) : setTimeout(arguments.callee, 20)
            }()
        }
    }, i = 0, n = {
        available: !1, flash: !1, isReady: !1, _ready: [], read: function () {
            return null
        }, write: function () {
        }, ready: function (t) {
            if (this.isReady) {
                for (var e, i = this._ready.length; i--;)(e = this._ready.shift())();
                t && t()
            } else t && this._ready.push(t)
        }
    };
    window.LocalStore = n;
    var a = function (t) {
        clearTimeout(i), t.available && (n.available = !0, n.medium = t, n.read = function (t) {
            return this.medium.read(t)
        }, n.write = function (t, e) {
            return this.medium.write(t, e), e
        }), n.isReady = !0, n.ready()
    }, o = function (t) {
        return document[t] || window[t] || document.getElementById(t)
    }, r = function () {
        var r = o("rookieswf");
        r ? (clearTimeout(i), n.available = !0, n.flash = !0, n.medium = r, n.read = function (t) {
            try {
                var e = this.medium.getItem(t);
                return e
            } catch (i) {
                return console.log(i), null
            }
        }, n.write = function (t, e) {
            try {
                this.medium.addItem(t, e)
            } catch (i) {
                console.log(i)
            }
            return e
        }, n.isReady = !0, n.ready()) : (e(), t(a))
    };
    window.Rookie = {
        swfReady: function () {
            r()
        }
    };
    var s = function () {
        if (!s.inited) {
            s.inited = !0;
            var t = __GLOBAL.player_domain + "/lc04_p/201602/17/15/20/15/newplayer/FlashStorage.swf";
            Rookie.crossDomain = !0;
            var e = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="1" height="1" id="rookieswf"><param name="movie" value="' + t + '" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="domain=' + window.location.hostname + '/"><embed src="' + t + '" width="1" height="1" name="rookieswf" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="domain=' + window.location.hostname + '"/></object>', i = document.createElement("div");
            i.style.position = "absolute", i.style.zIndex = "-1", i.style.height = "1px", $(function () {
                i.innerHTML = e, document.body.insertBefore(i, document.body.firstChild)
            })
        }
    };
    "www.leso.cn" != location.hostname && (!$.browser.supportFlash || $.browser.iPad && !$.browser.atwin ? (e(), t(a)) : s(), i = setTimeout(function () {
        n.isReady = !0, n.ready()
    }, 1e4))
}(), function () {
    domReady = 0;
    var t = {sys: {loaded: 0, data: []}, app: {loaded: 0, data: []}, gen: {loaded: 0, data: []}}, e = function (e, n) {
        var a = new Image;
        a.onload = a.onerror = function () {
            t[n].loaded++, i(), a = null
        }, a.src = e
    }, i = function () {
        var i;
        t.sys.data.length > 0 ? (i = t.sys.data.shift(), e(i, "sys")) : domReady && (t.app.data.length > 0 ? (i = t.app.data.shift(), e(i, "app")) : t.gen.data.length > 0 && (i = t.gen.data.shift(), e(i, "gen")))
    }, n = {
        config: function () {
        }, state: function () {
            var e = {};
            for (var i in t)e[i] = {loaded: t[i].loaded, wait: t[i].data.length};
            return e
        }, load: function (e, n) {
            e && (void 0 == n || void 0 == t[n] ? (n = "gen", t[n].data.push(e)) : t[n].data.push(e)), i()
        }
    };
    $(function () {
        domReady = 1, i()
    }), window.Spirit ? "" : window.Spirit = {}, window.Spirit.Util ? "" : window.Spirit.Util = {}, window.Spirit.Util.PerLoad = n
}(), function (t) {
    var e = {}, i = 0, n = 0, a = {
        regEvent: function (t) {
            if (e[t])throw t + " event is repeat";
            var i = e[t] = {uid: n++, execList: {}};
            return {type: t, uid: i.uid}
        }, cancelEvent: function (t) {
            if (!e[t.type] || e[t.type][t.uid] != t.uid)throw"not find regevent";
            delete e[t.type]
        }, addEvent: function (t, n) {
            var a = e[t];
            if (a) {
                var o = i++;
                return a.execList[o] = {fn: n}, {type: t, uid: o}
            }
            throw"not find " + t + " regevent so can't lisenter"
        }, addOneEvent: function (t, i) {
            var n = a.addEvent(t, i);
            return n ? (e[n.type].execList[n.uid].one = !0, n) : void 0
        }, removeEvent: function (t, i) {
            var n = e[t];
            if (n && n.execList[i.uid])return delete n.execList[i.uid], !0;
            throw"not find event"
        }, fireEvent: function (t, i) {
            if (!e[t.type] || e[t.type].uid != t.uid)throw"not find regevent";
            var n = e[t.type].execList;
            for (var a in n)try {
                n[a].fn.call(null, i), 1 == n[a].one && delete n[a]
            } catch (o) {
                console.log(o)
            }
        }, debug: function (t) {
        }
    };
    t.Spirit ? "" : t.Spirit = {}, t.Spirit.Event = a
}(window), LTK["air/event/givee"] = function (t, e, i) {
    var n = {
        on: function (t, e, i) {
            if (!t)return void trace("CustomEvent::on:", arguments.callee.caller);
            var n = t.indexOf(".");
            return n > 0 && (e._ENAME_ = t.slice(n), t = t.slice(0, n)), e._ONCE_ = i || !1, (this._EVENTS_[t] || (this._EVENTS_[t] = [])).push(e), this
        }, one: function (t, e) {
            return this.on(t, e, !0)
        }, off: function (t) {
            var e = t.indexOf(".");
            if (e > 0) {
                var i = t.slice(e);
                if (t = this._EVENTS_[t.slice(0, e)])for (var n = t.length; n--;)e = t[n], e && e._ENAME_ === i && (t[n] = !1)
            } else this._EVENTS_[t] = null;
            return this
        }, emit: function (t) {
            if (!t)return void trace("CustomEvent::emit:", arguments.callee.caller);
            var e, i = t.indexOf(".");
            if (i > 0 && (e = t.slice(i), t = t.slice(0, i)), t = this._EVENTS_[t])for (var n, a = 0, o = t.length, r = t.slice.call(arguments, 1); o > a; a++)n = t[a], !n || e && n._ENAME_ !== e || (n.apply(this, r), n._ONCE_ && (t[a] = !1));
            return this
        }
    }, a = function (t) {
        return "function" == typeof t && (t = t.prototype), t._EVENTS_ || (t._EVENTS_ = {}), t.on || (t.on = n.on), t.one || (t.one = n.one), t.off || (t.off = n.off), t.emit || (t.emit = n.emit), t
    };
    i.exports = a
}, LTK["air/event/Broadcast"] = function (t, e, i) {
    var n = t("air/event/givee"), a = n({});
    i.exports = a
}, ResponseCss = function (t) {
    var e = Spirit.Event, i = e.regEvent("pageChange"), n = (e.regEvent("fastPageChange"), require("air/event/Broadcast")), a = {
        320: ["1", "2"],
        768: "3",
        1024: ["4", "5"],
        1280: ["6", "7"],
        1400: ["8", "9"]
    };
    a = t;
    var o, r, s, l, c, d = navigator.userAgent.toLowerCase(), u = (d.match(/\b(iphone)\b/) || !1, d.match(/\b(ipod|iphone|ipad|ipadmini)\b/) || !1), p = d.match(/\b(android|linux)\b/) || !1, f = d.match(/\b(mise 6.0)\b/) || !1, h = [], m = 0;
    for (var g in a) {
        h.push(parseInt(g));
        var t = a[g], _ = {}, v = null;
        "string" == typeof t ? t = [t] : t instanceof Array ? t = t : (v = t.width, t = t.css, "string" == typeof t && (t = [t]));
        for (var y = 0, b = t.length; b > y; y++)_["css_respond_" + Math.floor((new Date).getTime() + 1e5 * Math.random())] = t[y];
        a[g] = {width: v, css: _}
    }
    var T = function () {
        var t = window.screen.orientation && window.screen.orientation.angle;
        if (c != t)switch (c = window.screen.orientation && window.screen.orientation.angle || window.orientation, orientationAngle = c || window.orientation, orientationAngle) {
            case 0:
                l = r;
                break;
            case 180:
                l = r;
                break;
            case-90:
                u && (l = s);
                break;
            case 90:
                u && (l = s)
        }
    }, w = function (t) {
        return document.getElementById(t) || null
    }, E = function () {
        return document.getElementsByTagName("head")[0]
    }, k = function (t, e) {
        if (e)for (var i in e.css)if (-1 != e.css[i].indexOf("http://")) {
            var n = w(i);
            n && n.parentNode.removeChild(n)
        } else for (var a = e.css[i].split("|"), o = 0, r = a.length; r > o; o++) {
            var s, l = a[o].split(":");
            if (s = "#" == l[0].substring(0, 0) ? document.getElementById(l[0].replace("#", "")) : document.getElementsByTagName(l[0])[0]) {
                var c = s.className;
                c = c ? " " + c + " " : "", c.indexOf(" " + l[1] + " ") > -1 && (c = c.replace(" " + l[1] + " ", "").replace(/\s+$/, "").replace(/^\s+/, ""), s.className = c)
            }
        }
        if (t) {
            var d = E();
            for (var i in t.css)if (-1 != t.css[i].indexOf("http://")) {
                var u = document.createElement("link");
                u.setAttribute("rel", "stylesheet"), u.setAttribute("type", "text/css"), u.setAttribute("href", t.css[i]), u.setAttribute("id", i), d.appendChild(u)
            } else for (var a = t.css[i].split("|"), o = 0, r = a.length; r > o; o++) {
                var s, l = a[o].split(":");
                if (s = "#" == l[0].substring(0, 0) ? document.getElementById(l[0].replace("#", "")) : document.getElementsByTagName(l[0])[0]) {
                    var c = s.className;
                    c = c ? " " + c + " " : "", ~c.indexOf(" " + l[1] + " ") || (c += l[1] + " ", c = c.replace(/\s+$/, "").replace(/^\s+/, ""), s.className = c)
                }
            }
        }
    }, L = function () {
        var t = l(), e = h.length;
        t += 21;
        for (var i = 0; e > i; i++)if (t <= h[i])return t == h[i] ? h[i] : i - 1 >= 0 ? h[i - 1] : h[i];
        return h[e - 1]
    }, C = function () {
        T()
    };
    u ? (window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", C, !1), r = function () {
        return window.screen.width
    }, s = function () {
        return window.screen.height
    }, l = r, C()) : p ? (window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", C, !1), r = function () {
        return 320
    }, s = function () {
        return 320
    }, l = r, C()) : f ? (r = function () {
        return window.screen.width
    }, s = function () {
        return window.screen.height
    }, l = r) : (r = function () {
        return 0 == document.getElementsByTagName("body").length ? window.screen.availWidth : document.getElementsByTagName("body")[0].clientWidth
    }, s = function () {
        return 0 == document.getElementsByTagName("body").length ? window.screen.availHeight : document.getElementsByTagName("body")[0].offsetHeight
    }, l = r);
    var x = function () {
        var t = L();
        ResponseCss.currentWidth = t, m != t && (k(a[t], a[m]), m = t, e.fireEvent(i, {size: m}), n.emit("pageSizeChange", {size: m})), !o && document.getElementsByTagName("body").length && (o = !0, k(a[t], a[m]), m = t, e.fireEvent(i, {size: m}), n.emit("pageSizeChange", {size: m}))
    };
    x(), setInterval(x, 100)
}, !function (t) {
    function e(t) {
        try {
            return new Function("return " + t)()
        } catch (e) {
            return ""
        }
    }

    if (!t.Ker) {
        var i = {}, n = {}, a = {}, o = 1, r = !0, s = "_Ker_8s1hj29c3x";
        t.Ker = {
            on: function (t, e) {
                if (e)"-" === t.charAt(0) && (t = t.substr(1), i[t] || (n[t] = !0)), i[t] || (i[t] = e); else for (var a in t)t.hasOwnProperty(a) && this.on(a, t[a])
            }, del: function (t) {
                delete i[t], delete n[t]
            }, click: function (t, e, i) {
                var n = t.getAttribute("k-name"), a = e;
                "-" === e.charAt(0) && (e = e.substr(1)), n ? (" " + n + " ").indexOf(" " + e + " ") < 0 && t.setAttribute("k-name", n + " " + e) : t.setAttribute("k-name", e), i && this.on(a, i)
            }, off: function (t, e) {
                var i = t.getAttribute("k-name");
                e && i !== e ? i && t.setAttribute("k-name", (" " + i + " ").replace(" " + e + " ", " ").replace(/^\s|\s$/g, "")) : t.removeAttribute("k-name")
            }, emit: function (t, e, r, l) {
                if (n[t] && e) {
                    if (e[s] || (e[s] = " " + o++), a[t + e[s]])return;
                    a[t + e[s]] = !0
                }
                var c = i[t];
                c && c(e, r, l)
            }, data: function (t, i) {
                var n = t.getAttribute("k-data"), a = typeof i;
                if ("undefined" === a)return n ? "{" === n.charAt(0) ? e(n) : n : "";
                if ("object" === a) {
                    if (null === i)return void t.setAttribute("k-data", "");
                    var o, r;
                    if (n && "{" === n.charAt(0))if (n = e(n))for (o in i)n[o] = i[o]; else n = i; else n = i;
                    i = [];
                    for (o in n)r = n[o], i.push(o + ":" + ("string" == typeof r ? "'" + r.replace(/'/g, "\\'") + "'" : r));
                    i = "{" + i.join(",") + "}"
                }
                t.setAttribute("k-data", i)
            }, free: function (t, e) {
                t && delete a[e + t[s]]
            }, stop: function () {
                r = !1
            }
        };
        var l = document.addEventListener ? function (t, e, i) {
            t && t.addEventListener && t.addEventListener(e, i, !1)
        } : function (t, e, i) {
            t && t.attachEvent && t.attachEvent("on" + e, i)
        };
        $(function () {
            l(document.body, "click", function (e) {
                e || (e = t.event);
                for (var l, c = e.target || e.srcElement, d = c; d && 1 === d.nodeType && r;) {
                    if (l = d.getAttribute("k-name")) {
                        if (n[l]) {
                            if (d[s] || (d[s] = " " + o++), a[l + d[s]]) {
                                d = d.parentNode;
                                continue
                            }
                            a[l + d[s]] = !0
                        }
                        var u = i[l];
                        if (u)u(d, c, e); else for (var p = l.split(" "), f = 0, h = p.length; h > f; f++) {
                            if (l = p[f], n[l]) {
                                if (d[s] || (d[s] = " " + o++), a[l + d[s]])continue;
                                a[l + d[s]] = !0
                            }
                            u = i[l], u && u(d, c, e)
                        }
                    }
                    d = d.parentNode
                }
                r = !0
            })
        })
    }
}(window), function (t) {
    t.SimpleTab = function (t, e) {
        var i = {
            tabs: ".j-tab",
            tabsFor: ".j-for",
            switchClass: "on",
            switchEvent: "mouseover",
            defaultIndex: 0,
            auto: !0,
            onInit: function () {
            },
            onSwitch: function () {
            }
        };
        e && $.extend(i, e);
        var n = $(t), a = $(i.tabs, n), o = $(i.tabsFor, n), r = i.defaultIndex;
        n.find("img[data-src]").each(function () {
            var t = this;
            t.loaded = !1;
            var e = $(t).attr("src", "http://i1.letvimg.com/img/201205/23/blank.png").addClass("loading").one("do-load", function () {
                t.loaded || $("<img />").bind("load", function () {
                    e.attr("src", e.attr("data-src")), t.loaded = !0
                }).attr("src", e.attr("data-src"))
            })
        });
        var s = {
            switchTab: function (t) {
                r = t, a.removeClass(i.switchClass), a.eq(t).addClass(i.switchClass), o.removeClass(i.switchClass), o.eq(t).addClass(i.switchClass).find("img[data-src]").trigger("do-load"), i.onSwitch(s, t)
            }, hide: function () {
                r = -1, a.removeClass(i.switchClass), o.removeClass(i.switchClass)
            }
        };
        return a.each(function (t, e) {
            $(e).bind(i.switchEvent, function (e) {
                r != t && (s.switchTab(t), r = t)
            }), $(e).hasClass(i.switchClass) && (r = t)
        }), i.onInit(s), i.auto && s.switchTab(r), s
    }, t.simpleTab = t.SimpleTab
}(LETV.using("UI")), function (t) {
    t.newSimpleTab = function (t, e) {
        var i = {
            tabs: ".j-tab",
            tabsFor: ".j-for",
            switchClass: "on",
            switchEvent: "mouseover",
            defaultIndex: 0,
            auto: !0,
            onInit: function () {
            },
            onSwitch: function () {
            }
        };
        e && $.extend(i, e);
        var n = $(t);
        return n.each(function (t, e) {
            var n = $(this), a = $(i.tabs, n), o = $(i.tabsFor, n), r = i.defaultIndex;
            n.find("img[data-src]").each(function () {
                var t = this;
                t.loaded = !1;
                var e = $(t).attr("src", "http://i1.letvimg.com/img/201205/23/blank.png").addClass("loading").one("do-load", function () {
                    t.loaded || $("<img />").bind("load", function () {
                        e.attr("src", e.attr("data-src")), t.loaded = !0
                    }).attr("src", e.attr("data-src"))
                })
            });
            var s = {
                switchTab: function (t) {
                    r = t, a.removeClass(i.switchClass), a.eq(t).addClass(i.switchClass), o.removeClass(i.switchClass), o.eq(t).addClass(i.switchClass).find("img[data-src]").trigger("do-load"), i.onSwitch(s, t)
                }, hide: function () {
                    r = -1, a.removeClass(i.switchClass), o.removeClass(i.switchClass)
                }
            };
            a.each(function (t, e) {
                $(e).bind(i.switchEvent, function (e) {
                    r != t && (s.switchTab(t), r = t)
                }), $(e).hasClass(i.switchClass) && (r = t)
            }), i.onInit(s), i.auto && s.switchTab(r)
        }), null
    }, t.newsimpleTab = t.newSimpleTab
}(LETV.using("UI")), function (t, e, i) {
    var n = navigator.userAgent.indexOf("(S40:") > 0, a = function (t) {
        var e = $.extend({}, this.options), i = this;
        this.options = $.extend(e, t);
        var n = i.Container = $(e.cont);
        n.css("z-index", e.zIndex + 1), e.iframe ? (i.Shadow = $(e.iframe), i.Shadow.length && (i.Shadow.css("z-index", e.zIndex), n.after(i.Shadow), e.shadow = !0, n.on("show", function () {
            i.Shadow.show()
        }), n.on("hide", function () {
            i.Shadow.hide()
        }))) : e.shadow && (i.Shadow = $('<iframe style="background:none repeat scroll 0 0 #ffffff;overflow:hidden;position:absolute; z-index:' + e.zIndex + ';width:100%;height:100%;border-style:none;"></iframe>'), n.after(i.Shadow), n.on("show", function () {
            i.Shadow.show(), i.resize()
        }), n.on("hide", function () {
            i.Shadow.hide()
        })), e.mask && (i.Mask = $("<div></div>").css({
            background: "none repeat scroll 0 0 #000000",
            opacity: e.mask,
            overflow: "hidden",
            width: "100%",
            height: document.body.scrollHeight,
            position: "absolute",
            top: "0px",
            left: "0px",
            zIndex: e.zIndex
        }), e.defmask && i.Mask.html('<iframe style="position:absolute;width:100%;height:100%;filter:alpha(opacity=0);opacity=0;border-style:none;"></iframe>'), n.after(i.Mask), n.on("show", function () {
            i.Mask.show()
        }), n.on("hide", function () {
            i.Mask.hide()
        })), (e.align_ || e.valign_) && (i.setPos(), n.on("show", function () {
            i.setPos()
        })), n.on("show", function () {
            e.onShow.call(i, i, n)
        }), n.on("hide", function () {
            e.onHide.call(i, i, n)
        }), i.btShut = $(e.btshut), i.btOpen = $(e.btopen), i.btShut.click(function () {
            i.hide()
        }), i.btOpen.click(function () {
            i.show()
        })
    };
    $.extend(a.prototype, {
        options: {
            cont: "",
            btshut: "",
            btopen: "",
            zIndex: "",
            mask: 0,
            shadow: 0,
            iframe: "",
            align_: "",
            valign_: "",
            defmask: 1,
            defstate: 0,
            onInit: function () {
            },
            onShow: function () {
            },
            onHide: function () {
            }
        }, init: function () {
            var t = this, e = this.options;
            return (this.State = e.defstate) ? t.show() : t.hide(), e.onInit.call(t, t, t.Container), this
        }, resize: function () {
            var t = this.Container;
            this.Shadow && this.Shadow.css({
                position: "absolute",
                width: t.outerWidth(),
                height: t.outerHeight(),
                left: t.position().left,
                top: t.position().top
            })
        }, setPos: function (t, e) {
            var i = this, a = this.Container, o = (this.Mask, this.Shadow), r = $(window), s = t || i.options.align_, l = e || i.options.valign_, c = "fixed", d = r.width() - a.outerWidth(), u = r.height() - a.outerHeight();
            IE6 || n ? (c = "absolute", "left" === s ? s = r.scrollLeft() : "center" === s ? (0 > d && (d = 0), s = d / 2 + r.scrollLeft()) : "right" === s && (s = d + r.scrollLeft()), "top" === l ? l = r.scrollTop() : "middle" === l ? (0 > u && (u = 0), l = u / 2 + r.scrollTop()) : "bottom" === l && (l = u + r.scrollTop())) : ("left" === s ? s = 0 : "center" === s ? (0 > d && (d = 0), s = d / 2) : "right" === s && (s = d), "top" === l ? l = 0 : "middle" === l ? (0 > u && (u = 0), l = u / 2) : "bottom" === l && (l = u)), a.css({
                position: c,
                top: l,
                left: s
            }), i.options.shadow && o.css({
                position: c,
                top: l,
                left: s,
                width: a.outerWidth(),
                height: a.outerHeight()
            })
        }, show: function () {
            this.Container.show(), this.State = 1, this.Container.trigger("show")
        }, hide: function () {
            this.Container.hide(), this.State = 0, this.Container.trigger("hide")
        }, hideIframe: function () {
            this.Container && this.Container.hide(), this.Shadow && this.Shadow.remove(), this.Mask && this.Mask.remove()
        }, dispose: function () {
            this.Container && this.Container.remove(), this.Shadow && this.Shadow.remove(), this.Mask && this.Mask.remove()
        }
    });
    var o = function (t) {
        t = $.extend({
            btsubmit: "", onsubmit: function () {
            }
        }, t), a.apply(this, arguments);
        var e = this, i = this.options;
        e.btSumbit = $(i.btsubmit), e.btSumbit.click(function () {
            i.onsubmit.apply(e, arguments)
        })
    };
    o.prototype = $.extend(a.prototype, {
        onSubmit: function () {
            this.options.onsubmit.apply(this, arguments)
        }, onCancel: function () {
            this.hide()
        }
    });
    var r = function (t) {
        t = $.extend({
            btsubmit: "", btcancel: "", onsubmit: function () {
            }
        }, t), a.apply(this, arguments);
        var e = this, i = this.options;
        e.btSumbit = $(i.btsubmit), e.btSumbit.click(function () {
            i.onsubmit.apply(e, arguments)
        })
    };
    r.prototype = $.extend(a.prototype, {
        onSubmit: function () {
            this.options.onsubmit.apply(this, arguments)
        }, onCancel: function () {
            this.hide()
        }
    });
    var s = function (t) {
        t = $.extend({
            cont_title: "",
            cont_content: "",
            url_donelog: "",
            align_: "right",
            valign_: "bottom",
            defstate: 0,
            defmask: 0,
            mask: 0,
            shadow: 1,
            btsubmit: "",
            onsubmit: function () {
            },
            onInit: function (t) {
                t.setPos()
            }
        }, t), t.shadow = 1, a.call(this, t);
        var e = this, i = this.options;
        e.Cont_title = $(i.cont_title), e.Cont_content = $(i.cont_content), e.btSumbit = $(i.btsubmit), e.btSumbit.click(function () {
            i.onsubmit.apply(e, arguments)
        })
    };
    s.prototype = $.extend({}, a.prototype), $.extend(s.prototype, {
        show: function (t, e) {
            t && n.Cont_title.html(t), e && n.Cont_content.html(e), this.Container.show(), this.Shadow.show();
            var n = this;
            $(i).bind({
                "resize.popup": function () {
                    n.setPos()
                }, "scroll.popup": function () {
                    n.setPos()
                }
            })
        }, hide: function () {
            $(i).unbind("resize.popup"), $(i).unbind("scroll.popup"), this.Container.hide(), this.Shadow.hide()
        }
    }), t.Dialog = function (t) {
        var e = new a(t);
        return e.init(), {
            getState: function () {
                return e.State
            }, show: function () {
                e.show()
            }, hide: function () {
                e.hide()
            }, resize: function () {
                e.resize()
            }, replace: function () {
                e.setPos()
            }, hideIframe: function () {
                e.hideIframe()
            }, dispose: function () {
                e.dispose()
            }
        }
    }, t.Confirm = function (t) {
        return new r(t).init()
    }, t.Alert = function (t) {
        return new o(t).init()
    }, t.Popup = function (t) {
        return new s(t).init()
    }
}(LETV.using("UI"), document, window), function (t) {
    t.popup = function (t, e) {
        function i() {
            if (f && f.length > 0 && l()) {
                var t = p.offset();
                f.css({
                    position: "absolute",
                    width: p.outerWidth(),
                    height: p.outerHeight(),
                    left: t.left,
                    top: t.top,
                    "z-index": parseInt(p.css("z-index")) - 1
                }).show()
            }
        }

        function n() {
            clearInterval(d), d = setInterval(function () {
                u && a()
            }, 200), p.show(), i(), c.onShow(h)
        }

        function a() {
            s() || (clearInterval(d), p.hide(), f && f.length > 0 && f.hide(), c.onHide(h))
        }

        function o(t) {
            p.css(t)
        }

        function r(t) {
            u = t
        }

        function s() {
            return "none" === p.css("display")
        }

        function l() {
            return !s()
        }

        var c = {
            onInit: function (t) {
            }, onShow: function (t) {
            }, onHide: function (t) {
            }, iframeID: "#j-iframeveil"
        };
        e && $.extend(c, e);
        var d = null, u = !0, p = $(t), f = $(c.iframeID);
        p.mouseenter(function () {
            r(!1)
        }), p.mouseleave(function () {
            r(!0)
        });
        var h = {widget: p, show: n, hide: a, updataCss: o, autoHide: r, isHide: s, iframeRefresh: i};
        return c.onInit(h), h
    }
}(LETV.using("UI")), !function () {
    var t = LETV.using("UI"), e = function (t) {
        this.container = $(t.container), this.top = t.top || 0, this.showing = !1, this.ie6 = IE6, this.ie6 && this.container.css({position: "absolute"})
    };
    e.prototype = {
        setPos: function (t) {
        }, updatePos: function () {
            var t = this.top;
            this.ie6 && this.container.css({top: $(window).scrollTop() + t})
        }, show: function (t, e) {
            this.updatePos(), t ? this.container.fadeIn(t) : this.container.show();
            var i = this;
            this.ie6 && $(window).bind("scroll.simdlg", function () {
                i.updatePos()
            }), this.showing = !0, e && e()
        }, hide: function (t, e) {
            t ? this.container.fadeOut(t) : this.container.hide(), this.ie6 && $(window).unbind("scroll.simdlg"), this.showing = !1, e && e()
        }
    }, t.simpleDialog = e
}(), function (t) {
    var e = function (t) {
        return this.dom = t, this.iframe = $('<iframe style="border-style:none; display:none;" scrolling="no" marginheight="0" marginwidth="0" border="0" src="about:blank"></iframe>'), this.dom.after(this.iframe), this
    };
    e.prototype.resize = function () {
        var t = {
            position: "absolute",
            width: this.dom.outerWidth(),
            height: this.dom.outerHeight(),
            "z-index": parseInt(this.dom.css("z-index")) - 1,
            "border-style": "none"
        };
        this.dom.css("top") && "auto" != this.dom.css("top") ? t.top = this.dom.css("top") : t.top = 0, this.dom.css("left") && "auto" != this.dom.css("left") && (t.left = this.dom.css("left")), this.dom.css("right") && "auto" != this.dom.css("right") && (t.right = this.dom.css("right")), this.dom.css("bottom") && "auto" != this.dom.css("bottom") && (t.bottom = this.dom.css("bottom")), this.iframe.css(t)
    }, e.prototype.show = function () {
        this.dom.show(), this.iframe.show(), this.resize()
    }, e.prototype.hide = function () {
        this.dom.hide(), this.iframe.hide()
    }, e.prototype.remove = function () {
        this.iframe.remove(), this.iframe = null
    };
    var i = function (t) {
        return new e(t)
    };
    t.iframeCover = i
}(LETV.using("UI")), function (t) {
    t.Slider = function (t, e) {
        var i = {
            stepSize: 1,
            clipSize: 1,
            sliderFinder: ".j-silder",
            sliderItemFinder: ".j-item",
            sliderItemWidth: 0,
            sliderItemCount: 0,
            mode: "default",
            goMode: "left",
            sliderItemClass: "",
            sliderItemStep: -1,
            onInit: function (t, e) {
            },
            onSlidBegin: function (t, e) {
            },
            onSlidEnd: function (t, e) {
            }
        };
        e && $.extend(i, e);
        var n = $(t), a = $(i.sliderFinder, n), o = $(i.sliderItemFinder, n), r = i.sliderItemCount > 0 ? i.sliderItemCount : o.size(), s = i.sliderItemWidth > 0 ? i.sliderItemWidth : o.outerWidth(!0), l = !1, c = !1, d = 0, u = function (t) {
            switch (i.goMode) {
                case"left":
                    return {left: t * s * -1};
                case"top":
                    return {top: t * s * -1};
                case"marginLeft":
                    return {marginLeft: t * s * -1};
                case"marginTop":
                    return {marginTop: t * s * -1};
                default:
                    return {left: t * s * -1}
            }
        };
        if (r > i.clipSize)if ("round" === i.mode)a.append(o.clone(!0)), a.append(o.clone(!0)), l = !0, c = !0, o = $(i.sliderItemFinder, n); else {
            var p = 0, f = r - i.clipSize;
            d >= f ? (d = f, c = !1) : c = !0, p >= d ? (d = 0, l = !1) : l = !0
        } else l = !1, c = !1;
        a.find("img[data-src]").each(function () {
            var t = this;
            t.loaded = !1;
            var e = $(t).attr("src", "http://i1.letvimg.com/img/201205/23/blank.png").addClass("loading").one("do-load", function () {
                t.loaded || $("<img />").bind("load", function () {
                    e.attr("src", e.attr("data-src")), t.loaded = !0
                }).attr("src", e.attr("data-src"))
            })
        });
        var h = null, m = {
            gotoIndex: function (t) {
                i.onSlidBegin(m, {index: t}), a.animate(u(t), {
                    queue: !1, step: function () {
                    }, complete: function () {
                        d = t, clearTimeout(h), i.sliderItemStep >= 0 && (o.removeClass("cur"), o.eq(t + parseInt(i.sliderItemStep)).addClass(i.sliderItemClass)), h = setTimeout(function () {
                            i.onSlidEnd(m, {index: t})
                        }, 100)
                    }
                });
                for (var e = t; e < t + i.stepSize; e++)o.eq(e).find("img[data-src]").trigger("do-load")
            },
            gotoNextStep: function () {
                var t = d + i.stepSize;
                if ("round" === i.mode) {
                    var e = 3 * r - i.clipSize;
                    t > e && (d -= r, a.css(u(d)), t = d + i.stepSize)
                } else {
                    var e = r - i.clipSize;
                    t >= e ? (t = e, c = !1) : c = !0, l = !0
                }
                return this.gotoIndex(t), c
            }, gotoPreStep: function () {
                var t = d - i.stepSize;
                return "round" === i.mode ? 0 > t && (d += r, a.css(u(d)), t = d - i.stepSize) : (0 >= t ? (t = 0, l = !1) : l = !0, c = !0), this.gotoIndex(t), l
            }, isPreEnable: function () {
                return l
            }, isNextEnable: function () {
                return c
            }, setStep: function (t) {
                i.stepSize = t
            }, setclip: function (t) {
                i.clipSize = t
            }
        };
        return m.gotoIndex(0), i.onInit(m, {}), m
    }, t.slider = t.Slider
}(LETV.using("UI")), $.fn.extend({
    mousewheel: function (t) {
        return this.each(function () {
            var e = this, i = $.browser;
            t || (t = function () {
                return !1
            }), i.msie || i.safari || i.opera ? (e.__mousewheel = function (i) {
                var n = i.wheelDelta < 0 ? -1 : 1;
                t.call(e, n, i) === !1 && (i.preventDefault ? i.preventDefault() : i.returnValue = !1)
            }, e.attachEvent ? e.attachEvent("onmousewheel", e.__mousewheel) : e.onmousewheel = e.__mousewheel) : (e.__mousewheel = function (i) {
                var n = i.detail > 0 ? -1 : 1;
                t.call(e, n, i) === !1 && i.preventDefault()
            }, e.addEventListener("DOMMouseScroll", e.__mousewheel, !1))
        })
    }, removeMousewheel: function () {
        return this.each(function () {
            var t = this, e = $.browser;
            t.__mousewheel && (e.msie || e.safari || e.opera ? t.detachEvent ? t.detachEvent("onmousewheel", t.__mousewheel) : t.onmousewheel = null : t.removeEventListener("DOMMouseScroll", t.__mousewheel), t.__mousewheel = null)
        })
    }
}), LTK["air/ui/yDragBar"] = function (t, e, i) {
    var n = $(document.documentElement), a = function (t) {
        if (0 !== t.ifScroll) {
            var e = {
                minY: 0, maxY: 100, onInit: function (t) {
                }, onDrag: function (t, e) {
                }
            };
            this.$dragBar = "string" == typeof t.$dragBar ? $(t.$dragBar) : t.$dragBar, this.$cont = "string" == typeof t.$cont ? $(t.$cont) : t.$cont, t.$list = "string" == typeof t.$list ? $(t.$list) : t.$list;
            var i = t.listHeight - t.contHeight, n = Math.floor(t.contHeight * t.contHeight / t.listHeight);
            50 > n && (n = 50), this.$dragBar.height(n), t.maxY = t.contHeight - n, e.ratio = i / t.maxY, e.dy = (t.stepLen || 25) * t.maxY / i, e.hiddenHeight = i, this.config = $.extend(e, t), this._events = {}, this.init()
        }
    };
    a.prototype = {
        init: function () {
            var t, e = this.$dragBar, i = this.config, a = 0, o = !1;
            i.onInit(e), i.initTop && this.moveTo(i.initTop), e.on("mousedown", function (i) {
                document.onselectstart = function () {
                    return !1
                }, i.preventDefault(), o = !0, t = i.pageY, a = parseFloat(e.css("top")) || 0
            }), this._events.docMousemove = function (n) {
                if (o) {
                    n.preventDefault();
                    var r = n.pageY - t, s = a + r;
                    s > i.maxY && (s = i.maxY), s < i.minY && (s = i.minY), e.css({top: s}), i.$list.css({top: -1 * s * i.ratio}), i.onDrag(e, {
                        top: s,
                        dy: r
                    })
                }
            }, this._events.docMouseup = function (t) {
                o = !1, document.onselectstart = function () {
                    return !0
                }
            }, n.on("mousemove", this._events.docMousemove), n.on("mouseup", this._events.docMouseup), this.$cont.mousewheel(function (t) {
                var n, a = i.dy, o = parseFloat(e.css("top")) || 0, r = !1;
                return n = t > 0 ? o - a : o + a, n > i.maxY && (n = i.maxY, r = !0), n < i.minY && (n = i.minY, r = !0), e.css({top: n}), i.$list.css({top: -1 * n * i.ratio}), i.onDrag(e, {
                    top: n,
                    dy: a
                }), r
            })
        }, removeEvents: function () {
            this.$dragBar.off("mousedown"), n.off("mousemove", this._events.docMousemove), n.off("mouseup", this._events.docMouseup), this.$cont.removeMousewheel()
        }, move: function (t) {
            var e = this.config, i = parseInt(e.$list.css("top")) + parseInt(t) + "px";
            i < -1 * e.hiddenHeight ? i = -1 * e.hiddenHeight : i > 0 && (i = 0);
            var n = this.$dragBar;
            e.$list.animate({top: i}, {
                duration: "slow", step: function (t) {
                    n.css({top: -1 * t / e.ratio})
                }
            })
        }, moveTo: function (t, e) {
            var i = this.config;
            t < -1 * i.hiddenHeight ? t = -1 * i.hiddenHeight : t > 0 && (t = 0);
            var n = this.$dragBar;
            if (e) {
                i.$list.css("top", t);
                var a = -1 * t / i.ratio;
                n.css({top: a})
            } else i.$list.animate({top: t}, {
                duration: "slow", step: function (t) {
                    n.css({top: -1 * t / i.ratio})
                }
            })
        }
    }, i.exports = a
}, LTK["air/util/gotoNode"] = function (t, e, i) {
    var n = function (t, e) {
        if ("string" == typeof t && (t = $(t)), t.length) {
            var i = t.offset().top + (e || 0);
            $(document.documentElement).animate({scrollTop: i}, "normal"), $(document.body).animate({scrollTop: i}, "normal")
        }
    };
    i.exports = n
}, LTK["air/util/ScrollTrigger"] = function (t, e, i) {
    var n = $(window), a = [], o = 0, r = !1, s = function () {
        clearTimeout(o), o = setTimeout(function () {
            l._call()
        }, 100)
    }, l = {
        calling: !1, add: function (t) {
            if (t.offsetY || (t.offsetY = 0), t.hasOwnProperty("id") && t.hasOwnProperty("isOnce"))for (var e = 0, i = a.length; i > e; e += 1)if (a[e].hasOwnProperty("id") && a[e].id == t.id) {
                a.splice(e, 1);
                break
            }
            a.push(t), this.calling || this._call(), r || (window.addEventListener ? window.addEventListener("scroll", s, !1) : n.on("scroll", s), r = !0)
        }, _call: function () {
            var t = a.length;
            if (0 === t)return window.removeEventListener ? window.removeEventListener("scroll", s) : n.off("scroll", s), void(r = !1);
            this.calling = !0;
            for (var e, i, o = n.scrollTop() + n.height(); t--;)e = a[t], i = "number" == typeof e.point ? e.point : $(e.point).offset().top + e.offsetY, o > i && (e.isOnce === !1 || a.splice(t, 1), e.handler());
            this.calling = !1
        }
    };
    i.exports = l
}, window.Stats || function () {
    var t = Stats = {
        VER: "2.0",
        P1: "1",
        P2: "10",
        cookieDomain: "." + LETV.CONSTANT.otherCookie.LETV_COM,
        api_env: "//" + LETV.CONSTANT.host.DC_LETV_COM + "/env/?",
        api_lg: "//" + LETV.CONSTANT.host.DC_LETV_COM + "/lg/?",
        api_op: "//" + LETV.CONSTANT.host.DC_LETV_COM + "/op/?",
        api_pgv: "//" + LETV.CONSTANT.host.DC_LETV_COM + "/pgv/?"
    };
    t.getCookie = function (t) {
        var e = new RegExp("(?:^| )" + t + "=([^;]*)(?:;|$)"), i = e.exec(document.cookie);
        return i ? unescape(i[1]) : ""
    }, t.setCookie = function (t, e, i) {
        i || (i = {});
        var n = new Date, a = i.exp;
        "number" == typeof a ? n.setTime(n.getTime() + 36e5 * a) : "forever" === a ? n.setFullYear(n.getFullYear() + 50) : null === e ? (e = "", n.setTime(n.getTime() - 36e5)) : n = a instanceof Date ? a : "", document.cookie = t + "=" + escape(e) + (n && "; expires=" + n.toGMTString()) + "; domain=" + (i.domain || this.cookieDomain) + "; path=" + (i.path || "/") + (i.secure ? "; secure" : "")
    }, t.getLC = function () {
        var t = this.getCookie("tj_lc");
        if (t)return t;
        if (t = LocalStore.read("lc"))this.setCookie("tj_lc", t); else {
            t = "";
            for (var e = 32; e--;)t += Math.floor(16 * Math.random()).toString(16);
            (LocalStore.isReady || !LocalStore.flash) && LocalStore.write("lc", t)
        }
        return t
    }, t.setLC = function (t) {
        this.setCookie("tj_lc", t, {exp: "forever"})
    }, ($.browser.iPad || $.browser.andorid || window.location.host.match(/\bm\.letv\.com/)) && (window.LocalStore = {
        ready: function (t) {
            t()
        }
    }, t.getLC = function () {
        var t = this.getCookie("tj_lc");
        if (!t) {
            t = "";
            for (var e = 32; e--;)t += Math.floor(16 * Math.random()).toString(16);
            this.setCookie("tj_lc", t, {exp: "forever"})
        }
        return t
    }, t.P1 = "0", window.location.host.match(/\bm\.letv\.com/) ? t.P2 = "04" : t.P2 = "06"), t.getUUID = function () {
        var t = this.getCookie("tj_uuid");
        return t || (t = String((new Date).getTime()) + String(Math.random()).slice(-7), this.setCookie("tj_uuid", t)), t
    }, t.WEID = String((new Date).getTime()) + String(Math.random()).slice(-7), t.UID = t.getCookie("ssouid"), t = null
}(), function (t) {
    t.Drag = function (t, e) {
        var i = {
            min_x: 0, max_x: 100, min_y: 0, max_y: 100, onInit: function (t, e) {
            }, onDrag: function (t, e) {
            }
        }, n = $(t), a = $(window.document.documentElement);
        e && $.extend(i, e);
        var o = function (t) {
            $.extend(i, t)
        }, r = function (t, e) {
            var n = t, a = e;
            1 === i.ifScroll && $(i.cont).on("mousewheel", function (t) {
                var e = i.scroll_y;
                a.top = parseFloat(n.css("top"));
                var o, r = !1;
                return o = t > 0 ? a.top - Math.ceil(e) : a.top + Math.ceil(e), o > i.max_y && (o = i.max_y, r = !0), o < i.min_y && (o = i.min_y, r = !0), n.css({top: o}), i.onDrag(self, {
                    top: o,
                    dy: e
                }), r
            })
        }, s = function () {
            $(i.cont).removeMousewheel()
        };
        return n.each(function () {
            var t, e, n = this, o = $(this), s = {}, l = !1;
            i.onInit(n), o.mousedown(function (i) {
                document.onselectstart = function () {
                    return !1
                }, i.preventDefault(), l = !0, t = i.pageX, e = i.pageY, s.left = parseFloat(o.css("left")), s.top = parseFloat(o.css("top")), isNaN(s.left) && (s.left = 0), isNaN(s.top) && (s.top = 0)
            }), a.mousemove(function (a) {
                if (l) {
                    a.preventDefault();
                    var r = a.pageX - t, c = a.pageY - e, d = s.left + r, u = s.top + c;
                    d > i.max_x && (d = i.max_x), d < i.min_x && (d = i.min_x), u > i.max_y && (u = i.max_y), u < i.min_y && (u = i.min_y), o.css({
                        left: d,
                        top: u
                    }), i.onDrag(n, {left: d, top: u, dx: r, dy: c})
                }
            }).mouseup(function (t) {
                l = !1, document.onselectstart = function () {
                    return !0
                }
            }), r(o, s)
        }), {
            moveTo: function (t, e) {
                t > i.max_x && (t = i.max_x), t < i.min_x && (t = i.min_x), e > i.max_y && (e = i.max_y), e < i.min_y && (e = i.min_y), n.css({
                    left: t,
                    top: e
                }), i.onDrag(self, {top: e, dy: i.scroll_y})
            }, resetSettting: o, on: r, off: s
        }
    }, t.drag = t.Drag
}(LETV.using("UI")), LTK["bz/www_play/events"] = function (t, e, i) {
    var n = {
        PLAYER_INIT: "PLAYER_INIT",
        SHOW_RECOMMEND: "SHOW_RECOMMEND",
        ANCHOR_COMMENT: "ANCHOR_COMMENT",
        DISPLAYTRYLOOK: "displayTrylook",
        CLICK_FIRSTLOOK: "CLICK_FIRSTLOOK",
        CLICK_STREAMCUT: "CLICK_STREAMCUT",
        PLAYER_PLAY_NEXT: "PLAYER_PLAY_NEXT",
        PLAYER_FIRSTLOOK: "PLAYER_FIRSTLOOK",
        PLAYER_STREAMCUT: "PLAYER_STREAMCUT",
        PLAYER_LAMUAD_END: "PLAYER_LAMUAD_END",
        PLAYER_VIDEO_PLAY: "videoStart",
        CHANGE_FULLSCREEN: "CHANGE_FULLSCREEN",
        USE_TICKET_SUCCESS: "USE_TICKET_SUCCESS",
        PLAYER_VIDEO_PAUSE: "PLAYER_VIDEO_PAUSE",
        PLAYER_GET_NEXT_VID: "PLAYER_GET_NEXT_VID",
        PLAYER_VIDEO_RESUME: "PLAYER_VIDEO_RESUME",
        PLAYER_LAMUAD_START: "PLAYER_LAMUAD_START",
        PLAYER_HEAD_AD_PLAY: "PLAYER_HEAD_AD_PLAY",
        PLAYER_TAIL_AD_PLAY: "PLAYER_TAIL_AD_PLAY",
        PLAYER_VIDEO_COMPLETE: "PLAYER_VIDEO_COMPLETE",
        COMMENT_REALNAME_BAN: "commentRealNameBan",
        JUMP2HOTTV: "jump2HotTV",
        CLOSE_BARRAGE: "closeBarrage",
        OPEN_BARRAGE: "openBarrage",
        toBKBM: "toBKBM",
        RELOAD: "RELOAD",
        SEEK_TO: "SEEK_TO",
        ADD_GOODS_SUCCESS: "ADD_GOODS_SUCCESS",
        GET_GOODS_URL: "GET_GOODS_URL",
        OPEN_APP: "OPEN_APP",
        PLAY_THIS: "PLAY_THIS",
        PLAY_VIDEO: "PLAY_VIDEO",
        ANCHOR_SHARE: "ANCHOR_SHARE",
        COMMENT_CEIL: "COMMENT_CEIL",
        SHOW_MESSAGE: "SHOW_MESSAGE",
        PLAYER_RESIZE: "PLAYER_RESIZE",
        ANCHOR_ZHUIJU: "ANCHOR_ZHUIJU",
        PLAYLIST_FOLD: "PLAYLIST_FOLD",
        GET_VIDEO_TIME: "GET_VIDEO_TIME",
        HIDE_PAY_PANEL: "HIDE_PAY_PANEL",
        RESIZE_CONTAINER: "RESIZE_CONTAINER",
        PUSH_BARRAGE_DATA: "PUSH_BARRAGE_DATA",
        SET_EFFECT_BARRAGE: "SET_EFFECT_BARRAGE",
        CHANGE_INTERACTIVE: "CHANGE_INTERACTIVE",
        CHANGE_BARRAGE_VISIBLE: "CHANGE_BARRAGE_VISIBLE",
        CALL_AD_CONTINUE: "CALL_AD_CONTINUE",
        PLAYER_PAUSE: "PLAYER_PAUSE",
        PLAYER_PLAY: "PLAYER_PLAY",
        emit: function (t) {
            if (null != t && void 0 != t) {
                var e, i, n = t.indexOf(".");
                if (n > 0 && (e = t.slice(n), t = t.slice(0, n)), t = this._EVENTS_[t])for (var a, o = 0, r = t.length, s = t.slice.call(arguments, 1); r > o; o++)a = t[o], !a || e && a._ENAME_ !== e || (n = a.apply(this, s), "undefined" == typeof n || (i = n), a._ONCE_ && (t[o] = !1));
                return i
            }
        }
    };
    t("air/event/givee")(n), i.exports = n
}, LTK["bz/www_play/isShortVideo"] = function (t, e, i) {
    "use strict";
    var n = {isShortVideo: !1, isVarietyShow: !1, isSingleVideo: !1, childNotVarietyShow: !1};
    switch (__INFO__.cid) {
        case 14:
        case 23:
        case 20:
        case 22:
        case 3:
        case 4:
        case 34:
        case 36:
        case 9:
        case 38:
        case 1009:
        case 30:
        case 8:
        case 1035:
        case 1029:
            n.isShortVideo = !0
    }
    "1" == __INFO__.video.varietyShow || 30 == __INFO__.cid || 1029 == __INFO__.cid || 1035 == __INFO__.cid ? n.isVarietyShow = !0 : 34 === __INFO__.cid && (n.childNotVarietyShow = !0), __INFO__.video.pid || (n.isSingleVideo = !0), i.exports = n
}, LTK["bz/www_play/responsePlayer"] = function (t, e, i) {
    function n() {
        var t = C[ResponseCss.currentWidth] || C[1280], e = Math.min(M.height() - E, t / k);
        return L > e && (e = L), t -= x, O.hasClass("le_playOpen") && (t -= S), {w: t, h: e}
    }

    function a() {
        var t = n();
        (y !== t.w || b !== t.h) && (y = t.w, b = t.h, A && (T.style.width = y + "px", T.style.height = b + "px"), w.width(y), w.height(b), A && _ && (_.config && !_.config.isH5 && _.player && (_.player.setAttribute("width", y), _.player.setAttribute("height", b)), v && "function" == typeof v.resize && v.resize(y, b)), N.emit(N.PLAYER_RESIZE, y, b, A))
    }

    function o(t, e) {
        _.config && !_.config.isH5 && _.player && (_.player.setAttribute("width", t), _.player.setAttribute("height", e))
    }

    function r(t) {
        Spirit.userLogin.openLetvLogin("", {isForce: !0});
        var e = window.Spirit.Event;
        e.addEvent("loginSuccess", function () {
            t && (t.indexOf("#") > -1 && (t = t.slice(0, t.indexOf("#"))), window.location.href = t)
        })
    }

    function s(t) {
        var e = window.innerHeight + 2, i = window.innerWidth + 2, n = $("#fla_box")[0], a = $("#fla_box_con"), o = a.height(), r = a.width(), s = $(".le_head").parent(".layout").parent()[0], l = $(".layout_play .le_func")[0];
        t.flag ? (n.style.position = "fixed", n.style.zIndex = "9999", n.style.left = "0", n.style.top = "0", s.style.display = "none", l.style.zIndex = "0", _.setSize(i, e), $("body").bind("touchmove", function (t) {
            t.preventDefault()
        })) : (n.style.position = "", n.style.zIndex = "0", s.style.display = "block", _.setSize(r, o), l.style.zIndex = "100", $("body").unbind("touchmove"))
    }

    for (var l, c = __INFO__.video, d = c.viki ? "&vikiid=" + c.viki : "", u = t("bz/www_play/isShortVideo"), p = u.isShortVideo && !u.isVarietyShow || u.isSingleVideo && !u.childNotVarietyShow, f = /(\?|#|&)(q2|ch|ref)=(\w*)/g, h = {}; l = f.exec(location.href);)h[l[2]] = l[3];
    h = h.ch || h.ref || h.q2 || "", window.StatConfig = window.StatConfig || {}, window.StatConfig.channelFromRef = h.ch || h.ref || h.q2 || "";
    var m = {
        containerId: "fla_box",
        wmode: "Opaque",
        vid: c.vid + d,
        hideBarrage: "1",
        barrage: "auto",
        camera: "1",
        ark: __ADINFO__.arkId,
        event: {
            defaultFun: function (t, e) {
                return N.emit(t, e)
            }
        },
        "interface": {
            openLoginDialog: function (t) {
                r(t)
            }
        }
    }, g = navigator.userAgent.toLowerCase();
    g.indexOf("safari") > 0 && g.indexOf("chrome") < 0 && (m.wmode = "gpu"), "" != h && (m.chOnce = h), window.__INFO__ && window.__INFO__.player && window.__INFO__.player.version[3] && (m.flashUrl = window.__INFO__.player.version[3]), window.__FLASHPLAYERURL__ && (m.flashUrl = __FLASHPLAYERURL__), (p || 1009 == __INFO__.cid || 3 == __INFO__.cid) && (m.list = 0, m.nextBtnStatus = "on");
    var _;
    1035 == __INFO__.cid ? window.LETV_PLAYER && window.LETV_PLAYER.OvPlayer ? _ = new LETV_PLAYER.OvPlayer(m, "U2FsdGVkX1/kfXQ7g5o7oZEy70TH3qHUfXhWzI99LV08XKGQ5U/6DlsqpwKQukBv") : $.getScript("http://" + LETV.CONSTANT.host.PLAYER_HZ_LETV_COM + "/playersdk/letvwebovplayer.js", function () {
        _ = new LETV_PLAYER.OvPlayer(m, "U2FsdGVkX1/kfXQ7g5o7oZEy70TH3qHUfXhWzI99LV08XKGQ5U/6DlsqpwKQukBv")
    }) : window.LETV_PLAYER && window.LETV_PLAYER.Player ? _ = new LETV_PLAYER.Player(m, "U2FsdGVkX1/kfXQ7g5o7oZEy70TH3qHUfXhWzI99LV08XKGQ5U/6DlsqpwKQukBv") : $.getScript("http://" + LETV.CONSTANT.host.PLAYER_HZ_LETV_COM + "/playersdk/letvwebplayer.js", function () {
        _ = new LETV_PLAYER.Player(m, "U2FsdGVkX1/kfXQ7g5o7oZEy70TH3qHUfXhWzI99LV08XKGQ5U/6DlsqpwKQukBv")
    });
    var v = __PLAYER__ = {
        playMovie: function (t) {
            t = "object" == typeof t ? t : {vid: t};
            try {
                _.playId(t.vid)
            } catch (e) {
            }
        }, pause: function () {
            try {
                _.pause()
            } catch (t) {
            }
        }, play: function () {
            try {
                _.play()
            } catch (t) {
            }
        }, seek: function (t) {
            try {
                _.seek(t)
            } catch (e) {
            }
        }, addGoodsSuccess: function (t) {
            try {
                _.addGoodsSuccess(t)
            } catch (e) {
            }
        }, getGoodsUrl: function (t) {
            try {
                _.getGoodsUrl(t)
            } catch (e) {
            }
        }, setVip: function () {
            try {
                _.loginStateChange()
            } catch (t) {
            }
        }, resize: function (t, e, i) {
            try {
                i && _.setSize(t, e)
            } catch (n) {
            }
        }, setChangeInteractive: function (t) {
            try {
                _.setChangeInteractive(t)
            } catch (e) {
            }
        }, setChangeBarrage: function (t) {
            try {
                _.setChangeBarrage(t)
            } catch (e) {
            }
        }, pushBarrageData: function (t) {
            try {
                _.pushBarrage(t)
            } catch (e) {
            }
        }, setEffectBarrage: function (t) {
            try {
                _.setEffectBarrage(t)
            } catch (e) {
            }
        }, getVideoTime: function () {
            try {
                return _.getCurrentState().curTime
            } catch (t) {
                return 0
            }
        }, reload: function (t) {
            try {
                _.reload(t)
            } catch (e) {
            }
        }, onChangeFullscreen: function (t, e) {
            var i = navigator.userAgent.toLowerCase(), n = /crios/i.test(i), a = /fxios/i.test(i);
            if (!$.browser.iPad)return "system";
            try {
                return s(t), window.onresize = function () {
                    t.flag && (n || a ? _.setFullScreen(!1) : s(t))
                }, "custom"
            } catch (o) {
                return "normal"
            }
        }, isH5: !1
    };
    i.exports = _;
    var y, b, T = $("#fla_box")[0], w = $("#fla_box_con"), E = $(".le_head").height() + $(".le_path").height() + $(".le_func").height(), k = 16 / 9, L = 474, C = {
        1024: 990,
        1280: 1248,
        1440: 1405
    }, x = $(".ico_fold").width(), S = 272, A = !0, N = t("bz/www_play/events"), O = $(".le_play"), M = $(window);
    a(), Spirit.Event.addEvent("pageChange", a), N.on(N.SEEK_TO, v.seek), N.on(N.RESIZE_CONTAINER, o), N.on(N.PLAYER_RESIZE, v.resize), N.on(N.PLAYLIST_FOLD, function () {
        setTimeout(a, 10)
    }), N.on("miniPlayerTrigger", function (t) {
        A = !t
    }), N.on(N.PLAY_THIS, v.playMovie), N.on(N.CHANGE_INTERACTIVE, v.setChangeInteractive), N.on(N.CHANGE_BARRAGE_VISIBLE, v.setChangeBarrage), N.on(N.PUSH_BARRAGE_DATA, v.pushBarrageData), N.on(N.SET_EFFECT_BARRAGE, v.setEffectBarrage), N.on(N.ADD_GOODS_SUCCESS, v.addGoodsSuccess), N.on(N.GET_GOODS_URL, v.getGoodsUrl), N.on(N.GET_VIDEO_TIME, v.getVideoTime), N.on(N.PLAYER_PAUSE, v.pause), N.on(N.PLAYER_PLAY, v.play), N.on(N.RELOAD, v.reload), N.on("jump2HotTV", function (t) {
        window.location.href = t
    }), N.on(N.CHANGE_FULLSCREEN, v.onChangeFullscreen), N.on(N.CALL_AD_CONTINUE, function () {
        _.player && _.player.CALL_AD_CONTINUE && _.player.CALL_AD_CONTINUE()
    })
}, function () {
    var Plugin = LETV.using("Plugin"), ad = {
        Config: {
            timelong: 1,
            timeout: 3,
            currentURL: location.href,
            reportURL: "http://www.sohu.com",
            queue: !1,
            commamdExe: !1,
            report: {onNoFindMap: !1, onComplete: !1, onTimelong: !1, onTimeout: !1, onDataError: !1, onPuton: !1},
            flashCon: {
                focusFlash: "http://player.letvcdn.com/p/201211/07/14/mediaAd/richMediaAd/richMediaAd.swf",
                videoFlash: "http://" + LETV.CONSTANT.host.PLAYER_HZ_LETV_COM + "/hzplayer.swf/typeFrom=av/v_list=26",
                newVideoFlash: "http://player.letvcdn.com/p/201305/24/10/seedPlayer/seed.swf"
            },
            securityKeys: ["rt", "oid", "im", "t", "data"],
            arkDomain: "http://" + LETV.CONSTANT.host.ARK_LETV_COM,
            DC_AD_URL: "http://apple.www.le.com/op/?",
            triggerData: {},
            crc_table: [61888, 62024, 21822, 44648, 51027, 25193, 39449, 32749, 45072, 19780, 27911, 40640, 22412, 47959, 2033, 15647, 26948, 7977, 333, 52810, 2229, 28457, 56115, 3222, 7819, 8261, 37040, 26479, 46017, 37654, 52255, 36436, 49642, 26018, 41611, 57969, 22529, 40087, 25454, 12785, 50531, 1739, 4421, 44187, 14573, 60124, 48843, 50551, 63571, 18928, 9702, 31935, 37924, 53689, 43138, 29106, 22299, 17913, 22765, 17733, 13233, 54102, 63095, 54790, 45315, 4283, 52320, 21487, 24719, 23499, 25688, 43296, 18522, 46226, 54051, 23750, 63855, 40050, 23830, 13909, 53473, 35269, 6541, 59749, 45495, 7225, 26512, 17657, 28777, 4159, 17208, 50565, 48334, 33575, 10897, 26141, 42425, 51911, 4632, 28267, 27030, 57778, 15356, 31158, 14774, 53522, 27342, 33231, 29241, 52365, 12102, 5400, 40637, 7989, 51774, 31639, 1064, 46043, 38691, 42315, 25171, 2606, 94, 25879, 50273, 48389, 61059, 63334, 38144, 34805, 17489, 9758, 21488, 31104, 40127, 47832, 19575, 8379, 62899, 64770, 6327, 15962, 35087, 34e3, 41978, 50244, 40758, 57390, 20080, 51537, 61759, 31722, 57084, 25726, 3693, 42772, 41971, 46086, 30626, 46885, 37383, 847, 38119, 23229, 59572, 58742, 40006, 20034, 62943, 57283, 50816, 54485, 36496, 28963, 5481, 23375, 51432, 3135, 18675, 20557, 968, 55963, 47914, 45119, 25284, 1646, 34994, 1493, 10573, 32670, 64131, 45013, 56896, 57534, 26361, 47505, 26941, 31536, 886, 43364, 32112, 18014, 13600, 60378, 12717, 60596, 9862, 56041, 44055, 39986, 37168, 28168, 55209, 30733, 5480, 6034, 17485, 56710, 63417, 33557, 9848, 39651, 64250, 14639, 63835, 38963, 7906, 39909, 7971, 10158, 40564, 25844, 3305, 50258, 28353, 42316, 44088, 44477, 1500, 42481, 45659, 44289, 10989, 54239, 19915, 42407, 19391, 1463, 50295, 60742, 8528, 50215, 445, 89, 39965, 42071],
            keyMap: {
                210: {name: "广告_主站_播放页_包框_广告数据"},
                484: {name: "广告_主站_播放页_右上Banner_加载函数", orderBy: null},
                485: {name: "广告_主站_播放页_右上Banner_广告数据1", orderBy: 1, queue: !0},
                486: {name: "广告_主站_播放页_右上Banner_广告数据2", orderBy: 2, queue: !0},
                487: {name: "广告_主站_播放页_右上Banner_广告数据3", orderBy: 3, queue: !0},
                488: {name: "广告_主站_播放页_右上Banner_广告数据4", orderBy: 4, queue: !0},
                489: {name: "广告_主站_播放页_右上Banner_广告数据5", orderBy: 5, queue: !0},
                490: {name: "广告_主站_播放页_右上Banner_广告数据6", orderBy: 6, queue: !0},
                482: {name: "广告_主站_播放页_IFRAME_1_广告数据", inject: "#JS_AD_M_P_IFRAME_1"},
                483: {name: "广告_主站_播放页_IFRAME_2_广告数据", inject: "#JS_AD_M_P_IFRAME_2"},
                328: {name: "广告_主站_播放页_通栏_1_广告数据", inject: "#JS_AD_M_P_Banner_1"},
                550: {name: "广告_主站_播放页_通栏_2_广告数据", inject: "#JS_AD_M_P_Banner_2"},
                195: {name: "广告_主站_首页_包框_广告数据"},
                308: {name: "广告_主站_首页_焦点富媒体_广告数据"},
                318: {name: "广告_主站_首页_视频_广告数据"},
                363: {name: "广告_主站_首页_栏目LOGO_1_广告数据", inject: "#JS_AD_M_I_TOPIC_LOGO_1"},
                194: {name: "广告_主站_首页_通栏_1_广告数据", inject: "#JS_AD_M_I_Banner_1"},
                192: {name: "广告_主站_首页_通栏_2_广告数据", inject: "#JS_AD_M_I_Banner_2"},
                153: {name: "广告_主站_首页_半通栏_1_广告数据", inject: "#JS_AD_M_I_Banner_3"},
                154: {name: "广告_主站_首页_半通栏_2_广告数据", inject: "#JS_AD_M_I_Banner_4"},
                184: {name: "广告_主站_电影频道首页_通栏_1_广告数据", inject: "#JS_AD_M_M_Banner_1"},
                542: {name: "广告_主站_电影频道首页_LOGO_1_广告数据", inject: "#JS_AD_M_UNI_LOGO_1"},
                543: {name: "广告_主站_电视剧频道首页_LOGO_1_广告数据", inject: "#JS_AD_M_UNI_LOGO_1"},
                196: {name: "广告_主站_搜索页_通栏_广告数据", inject: "#JS_AD_S_M_Banner_1"},
                178: {name: "广告_主站_详细页_半通栏_1_广告数据", inject: "#JS_AD_M_D_Banner_1"},
                177: {name: "广告_主站_详细页_半通栏_2_广告数据", inject: "#JS_AD_M_D_Banner_2"},
                274: {name: "广告_主站_详细页_焦点图_广告数据"},
                198: {name: "广告_娱乐_首页_通栏_1_广告数据", inject: "#JS_AD_ADM_I_Banner_1"},
                199: {name: "广告_娱乐_首页_通栏_2_广告数据", inject: "#JS_AD_ADM_I_Banner_2"},
                185: {name: "广告_动漫_首页_通栏_1_广告数据", inject: "#JS_AD_CA_I_Banner_1"},
                491: {name: "广告_动漫_首页_LOGO_1_广告数据", inject: "#JS_AD_M_UNI_LOGO_1"},
                312: {name: "广告_音乐_首页_焦点富媒体_广告数据"},
                508: {name: "广告_音乐_首页_通栏_1_广告数据", inject: "#JS_AD_MUS_I_Banner_1"},
                342: {name: "广告_音乐_首页_包框__广告数据"},
                187: {name: "广告_汽车_首页_通栏_1_广告数据", inject: "#JS_AD_AUT_I_Banner_1"},
                188: {name: "广告_汽车_首页_半通栏_2_广告数据", inject: "#JS_AD_AUT_I_Banner_2"},
                189: {name: "广告_汽车_首页_半通栏_3_广告数据", inject: "#JS_AD_AUT_I_Banner_3"},
                190: {name: "广告_汽车_首页_半通栏_4_广告数据", inject: "#JS_AD_AUT_I_Banner_4"},
                310: {name: "广告_电视剧_首页_视频_广告数据"},
                313: {name: "广告_电视剧_首页_焦点富媒体_广告数据"},
                183: {name: "广告_电视剧_首页_通栏_1_广告数据", inject: "#JS_AD_TV_I_Banner_1"},
                314: {name: "广告_电影_首页_视频_广告数据"},
                184: {name: "广告_电影_首页_通栏_1_广告数据", inject: "#JS_AD_MOV_I_Banner_1"},
                495: {name: "广告_电影_预告_通栏_1__广告数据", inject: "#JS_AD_MOV_TR_Banner_1"},
                496: {name: "广告_电影_预告_包框_广告数据"},
                551: {name: "广告_乐视制造_首页_通栏_1_广告数据", inject: "#JS_AD_LM_I_Banner_1"},
                137: {name: "PC网页端-乐视首页焦点图广告位1440*420"},
                289: {name: "PC网页端-乐视首页焦点图广告位1440*420-9帧"},
                141: {name: "PC网页端-全站播放页背投广告位"},
                138: {name: "H5-乐视首页焦点图广告位1440*420"},
                159: {name: "PC网页端-乐视首页焦点图广告位"},
                160: {name: "PC网页端-乐视首页焦点图广告位"},
                172: {name: "土豪包场"},
                173: {name: "播放器右侧互动广告"},
                183: {name: "PC网页端-播放器下方互动广告位", inject: ".layout_play .le_func"}
            },
            arkMapper: {
                4: "140",
                5: "142",
                6: "141",
                20: "134",
                21: "133",
                22: "135",
                23: "144",
                24: "146",
                25: "143",
                26: "137",
                27: "139",
                28: "138",
                29: "136",
                88: "148",
                166: "148",
                90: "145",
                91: "147",
                100: "372",
                104: "147",
                374: "416",
                9: "402",
                281: "413",
                30: "411",
                17: "407",
                7: "400",
                11: "404",
                332: "415",
                282: "414",
                13: "405",
                31: "412",
                12: "408",
                15: "406",
                3: "399",
                19: "410",
                18: "409",
                10: "403",
                8: "401",
                2: "398",
                1: "397",
                16: "418",
                14: "417"
            },
            adzoneMapper: {
                137: "138",
                91: "124",
                90: "123",
                80: "122",
                79: "121",
                78: "120",
                77: "119",
                21: "127",
                73: "136",
                72: "134",
                70: "118",
                69: "117",
                46: "133",
                45: "132",
                38: "114",
                28: "115",
                39: "116",
                7: "113",
                6: "112",
                25: "131",
                5: "130",
                35: "126",
                27: "125",
                26: "111",
                20: "129",
                19: "128",
                1: "107",
                8: "108",
                3: "109",
                2: "110"
            },
            valueMap: {},
            AdAddress: {"mainSite-mainPlay-TOPRIGHT-Flag": [485, 486, 487, 488, 489], "mainSite-mainPlay-Surround": []},
            showLogic: {},
            exSizeMap: {
                162: {width: "400", height: "90"},
                163: {width: "400", height: "180"},
                226: {width: "284", height: "40"},
                227: {width: "284", height: "40"},
                228: {width: "284", height: "40"},
                164: {width: "284", height: "40"},
                166: {width: "400", height: "90"},
                167: {width: "940", height: "90"},
                168: {width: "940", height: "90"},
                169: {width: "940", height: "90"}
            }
        }, ADKEY: {}, SUB_ADKEY: {}, TemplateKey: {}, _reqExchangeAD: function (t, e, n) {
            var a = this, o = 0;
            $.each(t, function (t, r) {
                var s = r.Impression, l = [], c = {}, d = r.NonLinearAds.TrackingEvents.Tracking, u = "";
                if (d && d.length > 0)for (i = 0; i < d.length; i++)if (u = d[i], "reachs" != u.event)"reachr" != u.event ? /^reach_err/.test(u.event) && (c[u.event] = u) : l.push(u); else {
                    var p = {cdata: u.cdata, event: "start", type: "4"};
                    r.NonLinearAds.TrackingEvents.Tracking.push(p)
                }
                var f = r.NonLinearAds.NonLinear[0].AdParameters, h = a.json(f).reachmax_data_url;
                if (!h || "javascript:void(0)" == h || "javascript:;" == h)return a.reqEXTimer && clearTimeout(a.reqEXTimer), void n();
                h += h.indexOf("?") > -1 ? "&" : "?", h.indexOf("[LETV_V_URL]") > -1 && (h = h.replace("[LETV_V_URL]", encodeURIComponent(location.href)));
                var m = {h: "OTHERS", l: a.isH5() ? "1" : "2", o: $(window).width(), p: $(window).height()};
                h += $.param(m), a.sendPartyWithClickType(s, r.uid, 1), h += "&j=?";
                var g;
                $.ajax({
                    type: "get", async: !1, url: h, dataType: "jsonp", success: function (t) {
                        if (++o, t && t.vast && t.vast.Ad && 0 != t.vast.Ad.length && t.vast.Ad[0].InLine) {
                            var i = t.vast;
                            if (i) {
                                var s = i.Ad[0].InLine.Creatives.Creative[0].NonLinearAds, d = r.NonLinearAds;
                                r.Impression = i.Ad[0].InLine.Impression, d.TrackingEvents.Tracking || (d.TrackingEvents.Tracking = []), s.TrackingEvents && (d.TrackingEvents.Tracking = d.TrackingEvents.Tracking.concat(s.TrackingEvents.Tracking)), s.NonLinear.NonLinearClickThrough && (d.NonLinear[0].NonLinearClickThrough = s.NonLinear.NonLinearClickThrough.cdata);
                                var u = d.NonLinear[0].NonLinearClickTracking, p = s.NonLinear.NonLinearClickTracking;
                                u || (u = []), p && (d.NonLinear[0].NonLinearClickTracking = u.concat(p)), d.NonLinear[0].AdParameters = a.json($.extend({}, {
                                    creativeType: s.StaticResource.creativeType,
                                    displayURL: s.StaticResource.cdata,
                                    icons: s.Icons
                                }, a.Config.exSizeMap[r.uid])), a.sendPartyWithClickType(l, r.uid, 4), a.ADKEY[r.uid] = r
                            }
                        } else c.reach_err_4 && a.sendPartyWithClickType(c.reach_err_4, r.uid, 4), a.SUB_ADKEY && (g = a.SUB_ADKEY[r.oid], null != g && (a.ADKEY[r.uid] = g, a.ADKEY[r.uid].isSub = g.parent));
                        e == o && (a.reqEXTimer && clearTimeout(a.reqEXTimer), n())
                    }, error: function (t, i, s) {
                        ++o, c.reach_err_0 && a.sendPartyWithClickType(c.reach_err_0, r.uid, 4), a.SUB_ADKEY && (g = a.SUB_ADKEY[r.oid], null != g && (a.ADKEY[r.uid] = g)), e == o && (a.reqEXTimer && clearTimeout(a.reqEXTimer), n())
                    }
                })
            })
        }, baiduCode: function () {
            var t = this, e = LETV.cookie("bd_xid"), i = LETV.cookie("tj_lc");
            if (!(e && e == i || !i || location.hostname.indexOf(".le.com") < 0)) {
                var n = new Date;
                n.setHours(0, 0, 0, 0);
                var a = new Date, o = a.getTime() + 864e5 - (a.getTime() - n.getTime()) - 1;
                LETV.cookie("bd_xid", i, {expires: new Date(o)}), window._dxt = window._dxt || [];
                var r = i;
                window._dxt.push(["_setUserId", r]), function () {
                    var t = document.createElement("script");
                    t.src = "//datax.baidu.com/x.js?si=&dm=www.le.com";
                    var e = document.getElementsByTagName("script")[0];
                    e.parentNode.insertBefore(t, e)
                }(), t._sendUserLog(10, {lc: i})
            }
        }, loadData: function (t, e) {
            var i = this;
            if (i.setCuidCookie(t.cuid), i.setCookieForIPDX(), i.baiduCode(), e) {
                var n, a, o, r, s, l, c, d = t.Ad;
                $.each(d, function (t, e) {
                    if (e)if (n = e.InLine, a = n.Impression, o = n.Creatives.Creative[0].NonLinearAds, l = n.Creatives.Creative[0].CompanionAds.Companion, r = o.NonLinear[0].Template.cdata, c = r, s = o.NonLinear[0].adzone_id || (new Date).getTime() + 1e3 * Math.random(), "4" == s && $.browser.supportFlash && (i.hasFocusMedia = !0), r = i.getTemplateCacheKey(r), i.TemplateKey[r] ? i.TemplateKey[r].uids.push(s) : i.TemplateKey[r] = {
                            inited: !1,
                            loaded: !1,
                            uids: [s]
                        }, i.Config.keyMap[s] && e.parent)i.SUB_ADKEY[e.parent] = {
                        parent: e.parent,
                        stime: (new Date).getTime(),
                        orderid: e.order_id,
                        oid: e.order_item_id,
                        url: c,
                        templeCacheKey: r,
                        Impression: a,
                        NonLinearAds: o,
                        Companion: l,
                        uid: s
                    }; else {
                        if (!i.Config.keyMap[s])return void i.backCall({uid: s, eventType: "onNoFindMap"});
                        i.ADKEY[s] = {
                            stime: (new Date).getTime(),
                            orderid: e.order_id,
                            oid: e.order_item_id,
                            url: c,
                            templeCacheKey: r,
                            Impression: a,
                            NonLinearAds: o,
                            Companion: l,
                            uid: s
                        }
                    }
                });
                var u = function () {
                    i.Config.commamdExe || (i.ADKEY[s] && !i.ADKEY[s].queue ? (i.queueing = !1, i.loadQueue(i.ADKEY[s].uid, !0)) : i.loadQueue(void 0, !0))
                }, p = 0, f = {};
                $.each(i.ADKEY, function (t, e) {
                    var n = e.NonLinearAds.NonLinear[0].AdParameters;
                    i.json(n).reachmax_data_url && (f[e.uid] = e, ++p)
                });
                try {
                    p > 0 ? (i.reqEXTimer = setTimeout(function () {
                        u()
                    }, 1e4), i._reqExchangeAD(f, p, u)) : u()
                } catch (h) {
                    u()
                }
                var m = "undefined" != typeof __INFO__ && __INFO__ && "www_play" === __INFO__.pageid;
                if (!m && !i.isH5() && void 0 === window.ark_bg_timer && "undefined" != typeof __ADINFO__ && $.inArray(__ADINFO__.arkId, ["4", "5", "6", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "90"]) >= 0) {
                    window.ark_bg_timer_count = 1, window.ark_bg_ad_zone = "19";
                    var g = function () {
                        var t = "a_background_image.js", e = LETV.using("Plugin").AD;
                        $.each(["a_background_forflash.js", "a_background_image.js", "a_banner_common.js", "a_banner_hoye.js", "a_banner_image.js", "a_banner_jilu.js", "a_banner_jz.js", "a_banner_outlink.js", "a_banner_outsite.js", "a_banner_pip.js", "a_banner_pips.js", "a_camera_image.js", "a_curtain_image.js", "a_pip_outlink.js", "a_pop_logo.js", "a_prepare_video.js", "a_selector_baidu.js", "a_selector_image.js", "a_selector_outlink.js"], function (i, n) {
                            n != t && (e.TemplateKey[n] || (e.TemplateKey[n] = {inited: !0, loaded: !0, uids: []}))
                        }), e.TemplateKey[t] = {
                            loaded: !1,
                            inited: !1,
                            uids: []
                        }, e.ADKEY[19] = e.ADKEY[141] = {}, e.getArkADData(e.new_pro, __ADINFO__.arkId || 0), ++window.ark_bg_timer_count, 5 == window.ark_bg_timer_count && (window.ark_bg_ad_zone = "141", window.ark_bg_timer_count = 0), window.ark_bg_timer_count > 3 && (setTimeout(g, 15e3), clearInterval(window.ark_bg_timer))
                    };
                    window.ark_bg_timer = setInterval(g, 2e4), window.ark_bg_timer_10 = setInterval(function () {
                        window.ark_bg_ad_zone = "141";
                        var t = LETV.using("Plugin").AD, e = "a_background_image.js";
                        $.each(["a_background_forflash.js", "a_background_image.js", "a_banner_common.js", "a_banner_hoye.js", "a_banner_image.js", "a_banner_jilu.js", "a_banner_jz.js", "a_banner_outlink.js", "a_banner_outsite.js", "a_banner_pip.js", "a_banner_pips.js", "a_camera_image.js", "a_curtain_image.js", "a_pip_outlink.js", "a_pop_logo.js", "a_prepare_video.js", "a_selector_baidu.js", "a_selector_image.js", "a_selector_outlink.js"], function (i, n) {
                            n != e && (t.TemplateKey[n] || (t.TemplateKey[n] = {inited: !0, loaded: !0, uids: []}))
                        }), t.TemplateKey[e] = {
                            loaded: !1,
                            inited: !1,
                            uids: []
                        }, t.ADKEY[19] = t.ADKEY[141] = {}, t.getArkADData(t.new_pro, __ADINFO__.arkId || 0)
                    }, 6e5)
                }
            } else {
                if (t.uid = this.Config.valueMap[t.uid], t.uid = t.uid || (new Date).getTime() + 1e3 * Math.random(), !t.uid)return void i.backCall({
                    uid: t.uid,
                    eventType: "onNoFindMap"
                });
                if (this.ADKEY[t.uid] = {stime: (new Date).getTime(), url: t.src}, this.Config.commamdExe)return;
                this.ADKEY[t.uid].queue ? this.loadQueue() : (this.queueing = !1, this.loadQueue(this.ADKEY[t.uid].uid))
            }
        }, getTemplateCacheKey: function (t) {
            return !t || 0 == t.length || t.indexOf("/") < 0 ? "" : t.substr(t.lastIndexOf("/") + 1)
        }, resoJsonp: function (t) {
            var e = t.vast;
            e && (this.triggerData = {
                origintime: e.stime,
                areaid: e.area_id,
                clienttime: (new Date).getTime(),
                ip: e.ip,
                cuid: e.cuid
            }, this.loadData(e, !0)), this.queueing = !1
        }, isH5: function () {
            var t = navigator.userAgent.toLowerCase(), e = {
                iPhone: /iphone/.test(t),
                iPad: /ipad/.test(t),
                iPod: /ipod/.test(t),
                isLetv: /letv/.test(t),
                Android: /android/.test(t),
                AndroidPad: /android/.test(t) && !/mobile/.test(t),
                atwin: /win/.test(t),
                opera: /opera/.test(t),
                msie: /msie/.test(t),
                firefox: /firefox/.test(t),
                safari: /safari/.test(t) && !/chrome/.test(t),
                wph: /windows phone/.test(t),
                ps: /playstation/.test(t),
                uc: /ucbrowser|ucweb/.test(t),
                xiaomi: /xiaomi/.test(t)
            };
            return "undefined" != typeof h5player || e.Android || (e.iPad || e.iPod || e.iPhone) && !e.atwin || e.wph || e.ps
        }, RemoveBgAdFunc: function () {
            window.creativeBgBlock = void 0, (!$.browser.iPad || $.browser.atwin) && ($("#j-adr-playBT").show(), $("#j-adr-playBT2").remove())
        }, RenderBgAdFunc: function (t) {
            function e(t) {
                if (t && "object" == typeof t.CompanionAds) {
                    var e = t.CompanionAds[0];
                    if (!e)return void(this.err = !0);
                    this.url = e.StaticResource.url, this.clickThrough = e.CompanionClickThrough, this.clickTracking = e.CompanionClickTracking, this.origintime = parseInt(t.stime) || +new Date, this.order_id = t.order_id, this.uid = e.adzone_id || "19", this.oid = t.order_item_id, this.areaid = t.area_id, this.trackingEvents = [];
                    for (var i = 0; i < e.TrackingEvents.length; i++)"creativeView" === e.TrackingEvents[i].event && this.trackingEvents.push(e.TrackingEvents[i]);
                    this.init()
                }
            }

            if (!$.browser.iPad || $.browser.atwin) {
                window.creativeBgBlock = !0, $("#j-adr-playBT").hide();
                var i = this;
                e.prototype = {
                    init: function () {
                        this.stime = +new Date, i.backCall({uid: this.uid, eventType: "onComplete"})
                    }, getAttachParamsUrl: function (t, e) {
                        if (!t || "javascript:void(0)" === t)return "javascript:void(0)";
                        if (t.indexOf(i.Config.arkDomain) > -1) {
                            var n, a = +new Date, o = a + Math.ceil(1e3 * Math.random());
                            n = (window.__INFO__ || {}).video || {};
                            var r = {
                                rt: e,
                                oid: this.oid,
                                im: 0,
                                t: this.origintime + Math.ceil((a - this.stime) / 1e3),
                                data: [this.uid, this.areaid, this.ark, o, this.orderid, n.vid || "", n.pid || "", n.cid || "", "1", "0", "letv", "", "0"].join(",")
                            };
                            if (1 == r.rt && Math.abs(r.t - this.origintime) >= 200 && (r.t = this.origintime), isNaN(r.t) && (r.t = this.origintime || a), r.s = i.getSecurityKey(r), 2 === e) {
                                var s = t.split("&u=");
                                t = [s[0], $.param(r), "u=" + s[1]].join("&")
                            } else t += "&" + $.param(r)
                        }
                        return t
                    }, render: function () {
                        var t = "JS_AD_FLASH_" + ((new Date).getTime() + "" + Math.floor(1e3 * Math.random()));
                        if (/^http.+(swf)$/i.test(this.url)) {
                            var e = ['<div id="j-adr-playBT2" style="height:0px; overflow:visible;" data-itemhldr="a" data-statectn="V-bg" class="v-m"><div class="v-b" style="margin:0px auto; overflow-x:hidden; overflow-y:visible; padding-top: 20px; display:block;">', "", "", "</div></div>"];
                            e[1] = '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" WIDTH="100%" HEIGHT="546" ID="' + t + '"><PARAM NAME="movie" VALUE="' + this.url + '"><PARAM NAME="wmode" VALUE="transparent"><PARAM NAME="scale" VALUE="showAll"><PARAM NAME="allowscriptaccess" VALUE="always"><EMBED src="' + this.url + '" WIDTH="100%" HEIGHT="546" WMODE="transparent" TYPE="application/x-shockwave-flash" ALLOWSCRIPTACCESS="always" NAME="' + t + '" scale="showAll"></EMBED></OBJECT>', e[2] = '<a href="javascript:;" id="' + t + 'a" target="_blank" style="display:block;outline:none;height:546px;position: absolute;top:20px;width: 100%;opacity: 0;filter:alpha(opacity=0);"></a> '
                        } else/^http.+(jpg)$/i.test(this.url) && (e = ['<div id="j-adr-playBT2" data-itemhldr="a" data-statectn="V-bg" class="v-m"><p><a href="javascript:;" id="a-remove-bgAd2" class="j-close" ></a></p><div class="v-b" style="background:url(' + this.url + ') no-repeat center top;height:546px;">', "", "", "</div></div>"], e[1] = '<a target="_blank" id="' + t + 'a" href="javascript:;" style="display:block;outline:none;height:546px;"></a>');
                        $(".Player").before(e.join("")), function (e, i) {
                            $("#" + t + "a").bind("click", function () {
                                if (e.clickThrough && "javascript:;" != e.clickThrough && $(this).attr("href", e.getAttachParamsUrl(e.clickThrough, 2)), e.clickTracking) {
                                    var t = new Image;
                                    t.src = e.getAttachParamsUrl(e.clickTracking, 3), t = null
                                }
                            }), $("#a-remove-bgAd2").bind("click", function (t) {
                                t.stopPropagation(), i.RemoveBgAdFunc()
                            })
                        }(this, i)
                    }
                };
                var n = new e(t);
                n.render()
            }
        }, getArkADData: function (t, e, i) {
            t = t.replace("ark.le.com", "ark.letv.com");
            var n = "?", a = this.isH5();
            this.url = t, this.ark = e, e = e || __ADINFO__.arkId, "" == e && (e = 91), a === !0 && (e = this.Config.arkMapper[e] || 147), i || (this.Config.ark = e), t && t.indexOf("?") > -1 && (n = "&");
            var o = (new Date).getTime();
            parseInt(o / 1e3);
            this.uuid || (this.uuid = this.getUuid() + "_" + o), $.getJSON(t + n + "ark=" + e + "&vvid=" + this.uuid + "&res=jsonp&j=LETV.Plugin.AD.resoJsonp&callback=?")
        }, reset: function (t, e, i) {
            var n = require("bz/www_play/events");
            n.emit("episodeRemoveTab", "interaction"), n.emit("episodeRemoveTab", "mallTab");
            for (var a in this.TemplateKey) {
                for (var o = this.TemplateKey[a], r = 0; r < o.uids.length; ++r) {
                    var s = this.Config.keyMap[o.uids[r]];
                    s && s.inject && $(s.inject).empty()
                }
                this.TemplateKey[a] = {inited: !1, loaded: !1, uids: []}
            }
            e = e || "http://" + LETV.CONSTANT.host.ARK_LETV_COM + "/s?vid=" + (t || "") + "&n=0&ct=0", this.getArkADData(e || this.url, i || this.ark)
        }, scriptLoaded: function (t, e) {
            this.TemplateKey[e].loaded || (this.TemplateKey[e].loaded = !0, this.TemplateKey[e].render = t, this.renderAd(e))
        }, renderAd: function (t, e) {
            var i = this;
            e || (e = (i.TemplateKey[t] || {}).render || function () {
                    console.log("未发现模版！" + t)
                }), $.each(this.ADKEY, function (i, n) {
                n.templeCacheKey == t && e(n)
            })
        }, getAttachParamsUrl: function (t, e, i, n, a, o) {
            var r = this, s = 0;
            if (!t || "javascript:void(0)" === t)return "javascript:void(0)";
            if (t.indexOf(r.Config.arkDomain) > -1 || t.indexOf("http://test.ark.letv.com") > -1) {
                var l = r.ADKEY[e];
                if (!l)return;
                l.isSub && (s = l.isSub), (void 0 == l.oid || void 0 == l.orderid && r.curBgData) && (l = r.curBgData);
                var c, d = (new Date).getTime(), u = Cookie.get("ark_uuid") || r.triggerData.cuid, p = this.uuid;
                c = (window.__INFO__ || {}).video || {};
                var f = {
                    rt: i,
                    oid: l.oid,
                    im: void 0 === n ? 1 : n,
                    cuid: u,
                    t: r.triggerData.origintime + Math.ceil((d - r.triggerData.clienttime) / 1e3),
                    data: [e, r.triggerData.areaid, o || r.Config.ark || 0, p, l.orderid, c.vid || "", c.pid || "", c.cid || "", "1", "0", "letv", a || "", "0", d, "", "", "", "", "", d, s].join(",")
                };
                if (isNaN(f.t) && (f.t = r.triggerData.origintime || d), f.s = r.getSecurityKey(f), 2 === i) {
                    t.indexOf("[randnum]") > -1 && (t = t.replace("[randnum]", (new Date).getTime())), t.indexOf("[M_IESID]") > -1 && (t = t.replace("[M_IESID]", "LETV_" + e)), t.indexOf("[M_ADIP]") > -1 && (t = t.replace("[M_ADIP]", r.triggerData.ip)), t.indexOf("[A_ADIP]") > -1 && (t = t.replace("[A_ADIP]", r.triggerData.ip));
                    var h = t.split("&u=");
                    t = [h[0], $.param(f), "u=" + h[1]].join("&")
                } else t += "&" + $.param(f)
            } else t.indexOf("[randnum]") > -1 && (t = t.replace("[randnum]", (new Date).getTime())), t.indexOf("[M_IESID]") > -1 && (t = t.replace("[M_IESID]", "LETV_" + e)), t.indexOf("[M_ADIP]") > -1 && (t = t.replace("[M_ADIP]", r.triggerData.ip)), t.indexOf("http://v.admaster.com.cn") > -1 && (t = t + ",f" + r.triggerData.ip);
            return t
        }, sendPartyWithClickType: function (t, e, i, n, a, o) {
            var r = this, s = !1;
            t = t instanceof Array ? t : [t], t.length > 0 && (s = !!t[0].cdata);
            for (var l = 0, c = t.length; c > l; l++)(t[l].length > 0 || s && t[l].cdata.length > 0) && !function (l) {
                var c = s ? t[l].cdata : t[l];
                c = r.getAttachParamsUrl(c, e, i, n, a, o), r.sendLogByQueue(c)
            }(l)
        }, sendLogTest: function (t) {
            for (var e = 0; (t || 200) > e; e++)this.sendLogByQueue("http://" + LETV.CONSTANT.host.ARK_LETV_COM + "/t?" + e)
        }, on: function (t, e) {
            switch (t) {
                case"adHeadPlayNone":
                case"adHeadPlayComplete":
            }
        }, sendLogQueue: [], sendLogLock: !1, sendLogByQueue: function (t) {
            var e = this, i = t, n = "img_" + Math.random(), a = $.browser.msie && ("7.0" == $.browser.version || "6.0" == $.browser.version);
            if (n = n.replace(".", ""), a && e.sendLogLock === !0)return void e.sendLogQueue.push(i);
            if (!i)return void(e.sendLogLock = !1);
            e.sendLogLock = !0;
            var o = function (t, e, i) {
                window[t] = $("<img>"), window[t].one("load", function () {
                    i(1)
                }).attr("src", e).one("error", function () {
                    i(2)
                }).one("abort", function () {
                    i(3)
                })
            };
            !function (t, i) {
                o(t, i, function (i) {
                    window[t] && (window[t] = null, e.sendLogLock = !1, a && setTimeout(function () {
                        var t = e.sendLogQueue.shift();
                        e.sendLogByQueue(t)
                    }, 0))
                })
            }(n, i)
        }, getSecurityKey: function (t) {
            var e = this.Config.crc_table, i = 0, n = 0, a = 0, o = "", r = "";
            for (var i in ad.Config.securityKeys)r += t[ad.Config.securityKeys[i]];
            for (o = r.length, i = 0; o > i; i++) {
                var s = r.charCodeAt(i), l = 15 & n | (15 & s) << 4;
                a = e[l], n = n >> 4 ^ a, a = e[15 & n | 240 & s], n = n >> 4 ^ a
            }
            return n.toString(16)
        }, exec: function (t) {
            return "call_do" == t ? (this.loadQueue(), !0) : "set_config_commamdExe=true" == t ? (this.Config.commamdExe = !0, !0) : !1
        }, lazyQueue: {}, isVisiable: function (t) {
            return t ? $(window).scrollTop() <= $(t).offset().top + $(t).outerHeight() && $(window).scrollTop() + $(window).height() > $(t).offset().top : !1
        }, lazyload: function (t, e, i, n) {
            if (t.html(e.html), t.css("display", "block"), t && 0 != t.length) {
                var a = t.offset().top;
                if (this.isVisiable(t))return this.showImg(t), void(n && n.apply(this, arguments));
                this.lazyQueue[a] ? this.lazyQueue[a].push({
                    elem: t,
                    html: e,
                    item: i,
                    loaded: !1,
                    callback: n
                }) : this.lazyQueue[a] = [{elem: t, loaded: !1, callback: n}]
            }
        }, showImg: function (t) {
            for (var e = t.find("img"), i = 0; i < e.length; i++)$(e[i]).attr("src", $(e[i]).attr("data-src")).fadeIn(500)
        }, _sendUserLog: function (t, e) {
            e = e || {};
            var i = this, n = {
                acode: 54,
                ap: "-",
                ar: 0,
                cid: "-",
                pid: "-",
                vid: "-",
                uid: "-",
                uuid: i.uuid,
                lc: LETV.cookie("tj_lc"),
                cur_url: encodeURIComponent(location.href),
                auid: "-",
                ilu: "1",
                targeturl: "-",
                ver: "2.0",
                p1: 1,
                p2: 10,
                r: Math.ceil(Math.random() * Date.now())
            };
            switch (t) {
                case 10:
                    e.lc && (n.lc = e.lc)
            }
            i.sendLogByQueue(i.Config.DC_AD_URL + $.param(n))
        }, loadQueue: function (t, e) {
            if (!this.queueing) {
                this.queueing = !0;
                var i = this, n = this.getLoad(t);
                if (n) {
                    if (i["timeout_" + n.uid] = setTimeout(function () {
                            i.queueing = !1, i.loadQueue(), i.sendLog({uid: n.uid, eventType: "onTimeout"})
                        }, 1e3 * i.Config.timeout), i.TemplateKey[n.templeCacheKey]) {
                        if (i.TemplateKey[n.templeCacheKey].inited)return void i.loadQueue();
                        i.TemplateKey[n.templeCacheKey].inited = !0
                    }
                    $.ajax({
                        type: "GET",
                        url: n.url,
                        dataType: "script",
                        cache: !0,
                        scriptCharset: "gbk",
                        success: function (t, e) {
                        }
                    })
                }
            }
        }, getLoad: function (t) {
            for (key in this.ADKEY)if (t) {
                if (!this.ADKEY[key].loaded && key == t)return this.ADKEY[key].loaded = !0, this.ADKEY[key]
            } else if (!this.ADKEY[key].loaded)return this.ADKEY[key].loaded = !0, this.ADKEY[key];
            return null
        }, backCall: function (t) {
            t.uid && this.Config.keyMap[t.uid] && this.sendLog(t)
        }, sendLog: function (t) {
            if (clearTimeout(this["timeout_" + t.uid]), this.queueing = !1, this.loadQueue(), t.uid && this.Config.report[t.eventType]) {
                var e = {position: t.uid, type: t.eventType};
                if (this.send(e), this.Config.report.onTimelong && "onComplete" == t.eventType) {
                    var i = Math.abs(this.ADKEY[t.uid].stime - (new Date).getTime());
                    i >= 1e3 * this.Config.timelong && (e.type = "onTimelong", e.costTime = i, this.send(e))
                }
            }
        }, send: function (t) {
            var e = $("<img>");
            e.attr("onload", function () {
                e = null
            }).attr("src", this.Config.reportURL + "?" + $.param(t))
        }, sendParty: function (t) {
            var e = !1;
            t = t instanceof Array ? t : [t], t.length > 0 && (e = !!t[0].cdata);
            for (var i = 0, n = t.length; n > i; i++)(t[i].length > 0 || e && t[i].cdata.length > 0) && !function (i) {
                var n = $("<img>");
                n.attr("onload", function () {
                    n = null
                }).attr("src", e ? t[i].cdata : t[i])
            }(i)
        }, get: function (t, e) {
            var i = "^http://(letv.allyes.com|" + LETV.CONSTANT.host.PRO_HOYE_LETV_COM + ")/main/adfclick?d=letvimedia&i=z(d+),.+$";
            switch (t) {
                case"position":
                    return new RegExp(i).test(e), RegExp.$2;
                case"inject":
                    return this.Config.keyMap[e].inject ? $(this.Config.keyMap[e].inject) : null
            }
        }, pushOrder: function (t, e) {
            var i = this.Config.keyMap[e.uid].orderBy;
            i ? (t.length < i && (t.length = i), t.splice(i - 1, 1, e)) : t.push(e)
        }, AdDateCheck: function (t) {
            return t && t.length > 0 ? /(^http.+(jpg|jpeg|gif|png|swf|html)$|^http.+\?.+&letvExtid=1&tag=gug.+)/i.test(t) : !1
        }, adShow: function (t) {
        }, regShowLogic: function (t, e, i) {
        }, showType: function (t, e) {
            if (/^http.+(swf)$/i.test(t.displayURL) || "application/x-shockwave-flash" == t.creativeType) {
                t.transparent = t.transparent ? 1 == t.transparent ? "opaque" : "window" : "transparent";
                var i = "JS_AD_FLASH_" + ((new Date).getTime() + "" + Math.floor(1e3 * Math.random())), n = [];
                return n.push('<div style="position:relative;width:' + t.width + "px;height:" + t.height + 'px;">'), $.browser.iPad && !$.browser.atwin ? n.push('<a target="_blank" href="' + t.clickURL + '"><img width="' + t.width + '" height="' + t.height + '" ' + (e ? 'style="display:none" data-' : " ") + 'src="' + t.imageURL + '"></a>') : (t.cont = "http://i0.letvimg.com/lc01_creative/201508/19/17/29/box.swf", n.push('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" WIDTH="' + t.width + '" HEIGHT="' + t.height + '" ID="' + i + '"><PARAM NAME="movie" VALUE="' + t.cont + '"><PARAM NAME="flashvars" VALUE="swfUrl=' + encodeURIComponent(t.displayURL) + '"><PARAM NAME="wmode" VALUE="' + t.transparent + '"><PARAM NAME="allowscriptaccess" VALUE="always"><EMBED src="' + t.cont + '" WIDTH="' + t.width + '" HEIGHT="' + t.height + '" WMODE="' + t.transparent + '" TYPE="application/x-shockwave-flash" ALLOWSCRIPTACCESS="always" NAME="' + i + '" FLASHVARS="swfUrl=' + encodeURIComponent(t.displayURL) + '"></EMBED></OBJECT>')), t.interactive || n.push('<a id="' + i + '_LINK" style="z-index:2;position:absolute;left:0;top:0;width:' + t.width + "px;height:" + t.height + "px;" + (document.all ? "filter:alpha(opacity=0);background-color:#fff;opacity:0;" : "") + '" href="' + t.clickURL + '" target="_blank"></a>'), n.push("</div>"), {
                    id: "#" + i + "_LINK",
                    html: n.join("")
                }
            }
            if (/^http.+(jpg|gif|png)$/i.test(t.displayURL) || "image/jpeg" == t.creativeType || "image/png" == t.creativeType) {
                var a = "JS_AD_IMAGE_" + ((new Date).getTime() + "" + Math.floor(1e3 * Math.random())), n = [];
                return t.cssClass = t.cssClass ? t.cssClass : {}, t.cssSytle = t.cssSytle ? t.cssSytle : {}, t.clickURL.length > 0 ? n.push('<a id="' + a + '" href="' + t.clickURL + '" ' + (t.cssClass.a ? 'class="' + t.cssClass.a + '"' : "") + " " + (t.cssSytle.a ? 'style="' + t.cssSytle.a + '"' : 'style="float:left;width:100%;text-align:center;display:block;position:relative;height:' + t.height + 'px"') + ' target="_blank"><img ' + (e ? 'style="display:none" data-' : " ") + 'src="' + t.displayURL + '" />' + this.getAdSign(t) + "</a>") : n.push("<img " + (e ? 'style="display:none" data-' : " ") + 'src="' + t.displayURL + '" ' + (t.cssClass.a ? 'class="' + t.cssClass.a + '"' : "") + " " + (t.cssSytle.a ? 'style="' + t.cssSytle.a + '"' : "") + '"/>'), {
                    id: "#" + a,
                    html: n.join("")
                }
            }
            if (/^http.+(html)$/i.test(t.displayURL)) {
                var a = "JS_AD_IFRAME_" + ((new Date).getTime() + "" + Math.floor(1e3 * Math.random())), n = [];
                return n.push('<IFRAME id= "' + a + '" SRC="' + t.displayURL + '" NAME="' + a + '" WIDTH="' + t.width + '" HEIGHT="' + t.height + '" FRAMEBORDER="no" BORDER="0" MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="no"></IFRAME>'), {
                    id: "#" + a,
                    html: n.join("")
                }
            }
            return 1 == t.jslink && t.jsInjectId.length > 0 ? {
                id: "#" + t.jsInjectId,
                html: '<div id="' + t.jsInjectId + '"></div>'
            } : void 0
        }, showSWF: function (t, e, i, n) {
            var a = [], o = e.h, r = e.w, s = n, l = e.wmode, c = e.id || "www_player", d = e.id || "www_player";
            a.push('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="' + c + '" name="' + d + '" width="' + r + '" height="' + o + '" id="media">'), a.push('      <param name="movie" value="' + s + '" />'), a.push('      <param name="quality" value="high" />'), a.push('      <param name="bgcolor" value="#000000" />'), a.push('      <param name="allowScriptAccess" value="always" />'), a.push('      <param name="allowFullScreen" value="true" />'), a.push('      <param name="wmode" value="' + l + '" />'), a.push('      <param name="flashvars" value="' + i + '"/>'), a.push('<embed id="' + c + '" width="' + r + '" height="' + o + '" align="middle" type="application/x-shockwave-flash" flashvars="' + i + '" salign="TL" allowfullscreen="true" allowscriptaccess="always" menu="true" name="' + d + '" bgcolor="#000000" devicefont="false" wmode="' + l + '" scale="noscale" loop="true" play="true" pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="' + s + '" />'), a.push("</object>"), $("#" + t) && $("#" + t).html(a.join(""))
        }, getAdSign: function (t) {
            if (t && t.needFlag) {
                var e = "display:none;position: absolute;padding: 0px;background:url(http://i0.letvimg.com/lc01_img/201508/19/17/44/adflag.png);width: 33px;height:19px;", i = "bottom:0px;right:0px;";
                if (t.direction)switch (t.direction) {
                    case 1:
                        i = "bottom:0px;left:0px;";
                        break;
                    case 2:
                        i = "top:0px;left:0px;";
                        break;
                    case 3:
                        i = "top:0px;right:0px;";
                    case 4:
                }
                return e += i, '<span class="j-adsign" style="' + e + '"></span>'
            }
            return ""
        }, temple: function (t, e) {
            var i = function (t) {
                var i = t;
                i = i.replace("${", "").replace("}", "");
                for (var n in e)if (i === n)return e[n];
                return t
            };
            return t.replace(/\$\{\w+\}/g, function (t) {
                return i(t)
            })
        }, updateKeyMap: function (t) {
            if (t === Object(t)) {
                if (this.isH5()) {
                    var e = this.Config.adzoneMapper;
                    for (var i in t)for (var n in e)i == n && (t[e[n]] || (t[e[n]] = t[n]))
                }
                $.extend(!0, this.Config.keyMap, t), this.init()
            }
            try {
                var a = require("bz/www_play/events");
                a.on(a.PLAY_VIDEO, function (t) {
                    var e = LETV.using("Plugin").AD;
                    e.reset(t.vid)
                })
            } catch (o) {
            }
        }, closeAd: function (t) {
            if ($(t))try {
                $(t).remove()
            } catch (e) {
            }
        }, script: function (t, e) {
            var i = document.createElement("script");
            i.charset = e || "utf-8", i.type = "text/javascript", i.async = !0, i.src = t, document.getElementsByTagName("body")[0].appendChild(i)
        }, getUuid: function () {
            for (var t = [], e = "0123456789abcdef", i = 0; 36 > i; i++)t[i] = e.substr(Math.floor(16 * Math.random()), 1);
            t[14] = "4", t[19] = e.substr(3 & t[19] | 8, 1), t[8] = t[13] = t[18] = t[23] = "-";
            var n = t.join("");
            return n
        }, init: function () {
            for (var t in this.Config.keyMap)void 0 == this.Config.keyMap[t].queue && (this.Config.keyMap[t].queue = this.Config.queue), this.Config.valueMap[this.Config.keyMap[t].name] = t
        }, getDspSign: function (t) {
            if (t) {
                var e = t.url, i = t.width || "25px", n = t.height || "25px", a = t.display || "none", o = "display:" + a + ";position: absolute;padding: 0px;background:url(" + e + ");width: " + i + ";height:" + n, r = ";bottom:0px;left:0px;";
                return o += r, '<span class="j-dspsign" style="' + o + '"></span>'
            }
            return ""
        }, json: function (data) {
            try {
                return "string" == typeof data ? "undefined" != typeof JSON && JSON.parse ? JSON.parse(data) : eval("(" + data + ")") : "undefined" != typeof JSON && JSON.stringify ? JSON.stringify(data) : LETV.json(data)
            } catch (ex) {
            }
        }, getQuery: function (t, e) {
            var i = e || location.search;
            if (i.length > 0 && -1 != i.indexOf("?")) {
                var n = new RegExp(t + "=([^&]*)", "i"), a = i.match(n);
                return a && a.length > 0 ? unescape(a[1]) : null
            }
            return null
        }, setCuidCookie: function (t) {
            var e = LETV.cookie("ark_uuid");
            if (location.host.indexOf(".le.com") >= 0 && t && (!e || e != t)) {
                LETV.cookie("ark_uuid", t, {expires: new Date(2060, 0, 1, 8, 0, 1)});
                var i = $("<img>");
                i.attr("onload", function () {
                    i = null
                }).attr("src", "http://ark.letv.com/apsdbg/cm/le?url=" + encodeURIComponent(location.href))
            }
        }, setCookieForIPDX: function () {
            if (!document.getElementById("IPDXCookie_iframe")) {
                var t = document.createElement("iframe");
                t.src = "http://minisite.letv.com/thirdparty/letvcookie/index.shtml", t.style.cssText = "position:absolute;left:0;top:0;width:0px;height:0px;visibility:hidden;", t.id = "IPDXCookie_iframe", t.setAttribute("frameborder", 0), document.body.appendChild(t)
            }
        }
    };
    ad.init(), Plugin.AD = ad, $(window).bind("scroll", function () {
        var t = LETV.Plugin.AD;
        t.lazySt && clearTimeout(t.lazySt), t.lazySt = setTimeout(function () {
            var e = ($(window).height() + $(window).scrollTop(), t.lazyQueue);
            for (var i in e)if (e.hasOwnProperty(i)) {
                var n = e[i];
                if (!n)continue;
                for (var a = 0; a < n.length; a++) {
                    var o = n[a];
                    o && !o.loaded && t.isVisiable(o.elem) && (o.loaded === !1 ? (o.cb && "function" == typeof o.cb && o.cb(), t.showImg(o.elem), o.loaded = !0) : o = null)
                }
            }
        }, 200)
    })
}(), function () {
    function t(t) {
        return -1 != navigator.appName.indexOf("Microsoft") ? window[t] : document[t]
    }

    if (!($.browser.msie && $.browser.version < "10.0")) {
        var e, i, n = require("bz/www_play/events"), a = function () {
            this.script = function (t, e, i, n) {
                var a = document.createElement("script");
                a.charset = e || "utf-8", a.type = "text/javascript", a.async = !0, i && (a.id = i), a.src = t, n && n instanceof Function && (a.onload = n), document.getElementsByTagName("head")[0].appendChild(a)
            }
        };
        a.prototype = {
            onReady: function () {
            }, onStart: function () {
            }, onPause: function () {
            }, onResume: function () {
            }, onStop: function () {
            }, onDrag: function () {
            }, letvPlayerOnStartSetting: function () {
            }, letvPlayerOnEndSetting: function () {
            }
        }, window.videoPlus = new a, videoPlus.onStart = function (t, a, s) {
            /.js$/.test(t) || (t = "");
            var l = a ? a : s;
            if (l) {
                if ($("#le_iva_script").size()) {
                    var c = $("#fla_box")[0];
                    if (!c || "function" != typeof Iva)return;
                    try {
                        i = new Iva(c, {appkey: "VJFC8cJ6l", video: "$" + l + "$le", title: document.title})
                    } catch (d) {
                    }
                    return window.letvAPI = r, void o()
                }
                if (!i) {
                    var u = t ? t : "http://7xjfim.com2.z0.glb.qiniucdn.com/letv_Iva.js";
                    try {
                        e = require("bz/www_play/responsePlayer"), this.script(u, "utf-8", "le_iva_script", function () {
                            var t = $("#fla_box")[0];
                            t && "function" == typeof Iva && (i = new Iva(t, {
                                appkey: "VJFC8cJ6l",
                                video: "$" + l + "$le",
                                title: document.title
                            }))
                        })
                    } catch (d) {
                    }
                    window.letvAPI = r, o();
                    try {
                        n.on(n.PLAY_VIDEO, function (t) {
                            videoPlus.onStop()
                        })
                    } catch (d) {
                    }
                }
            }
        };
        var o = function () {
            try {
                n.on(n.PLAYER_VIDEO_PAUSE, function (t) {
                    videoPlus.onPause()
                }), n.on(n.PLAYER_VIDEO_RESUME, function (t) {
                    videoPlus.onResume()
                }), n.on(n.PLAYER_VIDEO_COMPLETE, function (t) {
                    videoPlus.onStop()
                })
            } catch (t) {
            }
            videoPlus.onPause = function () {
                window.vjjFlash && window.vjjFlash.call(null, "pause_callback")
            }, videoPlus.onResume = function () {
                window.vjjFlash && window.vjjFlash.call(null, "play_callback")
            }, videoPlus.onStop = function () {
                i && "function" == typeof i.destroy && i.destroy(), videoPlus.eventsOff(), window.vjjFlash && window.vjjFlash.call(null, "stop_callback")
            }, videoPlus.onDrag = function (t) {
                window.vjjFlash && window.vjjFlash.call(null, "start_seek_callback")
            }, videoPlus.onHide = function () {
                window.vjjFlash && window.vjjFlash.call(null, "hide_callback")
            }, videoPlus.onShow = function () {
                window.vjjFlash && window.vjjFlash.call(null, "show_callback")
            }, videoPlus.letvPlayerOnStartSetting = function () {
                window.vjjFlash && window.vjjFlash.call(null, "start_setting")
            }, videoPlus.letvPlayerOnEndSetting = function () {
                window.vjjFlash && window.vjjFlash.call(null, "end_setting")
            }, videoPlus.eventsOff = function () {
                try {
                    n.off("PLAYER_VIDEO_PAUSE"), n.off("PLAYER_VIDEO_RESUME"), n.off("PLAYER_VIDEO_COMPLETE")
                } catch (t) {
                }
                window.letvAPI = null
            }
        }, r = {
            get_time: function () {
                var t = 0;
                return t = parseInt(n.emit(n.GET_VIDEO_TIME))
            }, play: function () {
                try {
                    e && "function" == typeof e.play && e.play()
                } catch (t) {
                }
            }, pause: function () {
                try {
                    e && "function" == typeof e.pause && e.pause(), t("www_player_1") && t("www_player_1").cmdPauseToShowVppAds && t("www_player_1").cmdPauseToShowVppAds()
                } catch (i) {
                }
            }, destroy: function () {
                i && "function" == typeof i.destroy && i.destroy(), i = null, videoPlus.eventsOff()
            }
        }
    }
}(), function () {
    var t = LETV.using("Utils");
    t.sendStat = function (t) {
        var e = "=" + Math.random(), i = window["_IMG" + e] = new Image;
        i.onload = i.onerror = function () {
            i = null, window["_IMG" + e] = null
        }, i.src = t.indexOf("?") > 0 ? t + "&_r_" + e : t + "?_r_" + e, setTimeout(function () {
        }, 1e3)
    }
}(), !function () {
    if (!window.Tpl) {
        var t = {}, e = {}, i = function (t, e) {
            this.tpl = t, this.mix = e
        };
        i.prototype = {
            render: function (t, e) {
                if (!t || !this.tpl)return "";
                e = e || this.mix;
                var i, n, a, o = "function" == typeof e, r = this.tpl, s = "";
                if ("string" == typeof r) {
                    var l, c = r.replace(/[\r\n\t]/g, "").replace(/\'/g, "\\'").split("{"), d = "return '" + c[0] + "'";
                    for (i = 1, n = c.length; n > i; i++)l = c[i].split("}"), d = d + (l[0].indexOf("$.") < 0 ? "+$." + l[0] : "+(" + (l[0].indexOf("[[") < 0 ? l[0] : l[0].replace(/\[\[/g, "'").replace(/\]\]/g, "'")) + ")") + "+'" + l[1] + "'";
                    r = this.tpl = new Function("$", d)
                }
                if (t instanceof Array)for (i = 0, n = t.length; n > i; i++)a = t[i], o && e(a, i), s += r(a); else o && e(t, 0), s = r(t);
                return s
            }
        }, i.reg = function (i, n, a) {
            t[i] || (t[i] = n, e[i] = a)
        }, i.unreg = function (i) {
            delete t[i], delete e[i]
        }, i.render = function (i, n, a) {
            if (!n || !t[i])return "";
            a = a || e[i];
            var o, r, s, l = "function" == typeof a, c = t[i], d = "";
            if ("string" == typeof c) {
                var u, p = c.replace(/[\r\n\t]/g, "").replace(/\'/g, "\\'").split("{"), f = "return '" + p[0] + "'";
                for (o = 1, r = p.length; r > o; o++)u = p[o].split("}"), f = f + (u[0].indexOf("$.") < 0 ? "+$." + u[0] : "+(" + (u[0].indexOf("[[") < 0 ? u[0] : u[0].replace(/\[\[/g, "'").replace(/\]\]/g, "'")) + ")") + "+'" + u[1] + "'";
                c = t[i] = new Function("$", f)
            }
            if (n instanceof Array)for (o = 0, r = n.length; r > o; o++)s = n[o], l && a(s, o), d += c(s); else l && a(n, 0), d = c(n);
            return d
        }, i.simple = function (t, e) {
            return e || (e = {}), t.replace(/{(\w+)}/g, function (t, i) {
                return e[i] || (0 === e[i] ? "0" : "")
            })
        }, window.Tpl = i
    }
}(), LTK["bz/com/lesoSendData"] = function (t, e, i) {
    lesoSendData = {
        report: function (t) {
            var e = "", i = "http://dc.so.le.com/data_collect.so";
            for (var n in t)t[n] = "undefined" == t[n] ? "" : t[n], e += n + "=" + t[n] + "&";
            e = e.slice(0, e.length - 1);
            var a = new Image(1, 1);
            a.onload = a.onerror = function () {
                a = null
            }, a.src = i + "?" + e
        }, getTagValue: function (t) {
            var e = t;
            if (e) {
                var i = {
                    gid: e.attr("data-globalid"),
                    position: e.attr("data-position"),
                    suggest_text: e.attr("data-sugtext"),
                    click_area: e.attr("data-click-area")
                }, n = e.attr("data-category");
                return "noCategory" != n && (i.category = n), i
            }
        }, getSugValue: function (t) {
            var e = this.$SoResults;
            return e ? {
                eid: e.attr("data-eid"),
                is_trigger: e.attr("data-is-trigger"),
                trigger_str: e.attr("data-trigger-str"),
                experiment_id: e.attr("data-experiment-id"),
                experiment_bucket_str: e.attr("data-experiment-bucket-str")
            } : void 0
        }, sendData: function (t, e, i) {
            var n = this, a = {};
            switch (this.$formsearchbox = $(".j-formsearchbox"), this.$SoResults = $(".SoResults"), i && (this.inputVal = i.val()), this.uid = Cookie.get("ssouid") ? Cookie.get("ssouid") : "", this.deviceId = Stats && Stats.getCookie("tj_lc"), t) {
                case"pv":
                    a = {action_code: "4", query: e}, n.pvReport(a);
                    break;
                case"listReport":
                    n.setSubmitInput(e), n.clickReport(a, e);
                    break;
                case"tipsReport":
                    n.clickReport(a, e);
                    break;
                case"searchBtnReport":
                    a = {click_area: "search_button", query: n.inputVal};
                    var o = {is_default_query: e.is_default_query};
                    o = $.extend(a, o), 0 == e.mark || 1 == e.mark && 1 == e.is_default_query ? (o.module = "search_rst_page", n.creatFormInput(n.$formsearchbox, o)) : 1 == e.mark && n.inputVal && (o.module = "suggest_list", o.eid = n.$SoResults.attr("data-eid"), o.experiment_id = n.$SoResults.attr("data-experiment-id"), o.is_trigger = n.$SoResults.attr("data-is-trigger"), n.creatFormInput(n.$formsearchbox, o), n.searchBtnReport(a));
                    break;
                case"comReport":
                    n.comReport(e)
            }
        }, commonConfig: function (t) {
            var e = this, i = {
                imei: "",
                from: "pc",
                time: (new Date).getTime(),
                query: e.inputVal,
                module: "suggest_list",
                version: "1.0",
                device_id: e.deviceId,
                uid: e.uid
            };
            return t && (i = $.extend(i, t)), i
        }, setSubmitInput: function (t) {
            var e = this, i = {
                gid: t.attr("data-globalid"),
                query: e.inputVal,
                category: t.attr("data-category"),
                click_area: t.attr("data-click-area"),
                position: t.attr("data-position"),
                parent_eid: e.$SoResults.attr("data-eid"),
                suggest_text: t.attr("data-sugtext")
            };
            e.creatFormInput(e.$formsearchbox, i)
        }, creatFormInput: function (t, e) {
            $(".so_submit").remove(), $.each(e, function (e, i) {
                t.append('<input class="so_submit" type="hidden" name="' + e + '" value="' + i + '">')
            })
        }, pvReport: function (t) {
            var e = this, i = $.extend(e.commonConfig(), e.getSugValue(), t);
            e.report(i)
        }, clickReport: function (t, e) {
            var i = this, n = $.extend(this.commonConfig(), i.getSugValue(), i.getTagValue(e), t);
            i.report(n)
        }, searchBtnReport: function (t) {
            var e = this, i = $.extend(e.commonConfig(), e.getSugValue(), t);
            e.report(i)
        }, comReport: function (t) {
            var e = this, i = $.extend(e.commonConfig(), t);
            delete i.query, e.report(i)
        }
    }, i.exports = lesoSendData
}, function () {
    function getStarList(t, e, i) {
        if (!t)return "";
        var n = t.split(",");
        t = LETV.Utils.clipstring(t, e).split(",");
        for (var a = 0, o = t.length, r = "", s = ""; o > a; a++) {
            if (i) {
                var l = "&experiment_id=" + $(".SoResults").attr("data-experiment-id") + "&is_trigger=" + $(".SoResults").attr("data-is-trigger") + "&parent_eid=" + $(".SoResults").attr("data-eid");
                s = "&module=suggest_list&click_area=other&suggest_text=" + i.name + "&query=" + n[a] + l + "&gid=" + i.global_id + "&position=" + i.position
            }
            r += '<a target="_blank" href="http://' + LETV.CONSTANT.host.SO_LETV_COM + "/s?wd=" + encodeURIComponent(n[a]) + s + '" title="' + n[a] + '">' + t[a] + "</a> "
        }
        return r
    }

    function getPlayList(vids, epi, ing) {
        if (vids = eval("(" + vids + ")") || {}, epi = parseInt(epi) || 0, epi > 5)return ing ? '<a target="_blank" href="http://' + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay/" + vids[epi] + '.html">' + epi-- + '</a><a target="_blank" href="http://' + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay/" + vids[epi] + '.html">' + epi-- + '</a><span>...</span><a target="_blank" href="http://' + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay/" + vids[1] + '.html">1</a>' : '<a target="_blank" href="http://' + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay/" + vids[1] + '.html">1</a><a target="_blank" href="http://' + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay/" + vids[2] + '.html">2</a><span>...</span><a target="_blank" href="http://' + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay/" + vids[epi] + '.html">' + epi + "</a>";
        if (epi > 0) {
            var html = "";
            if (ing) {
                do html += '<a target="_blank" href="http://' + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay/" + vids[epi] + '.html">' + epi + "</a>"; while (--epi)
            } else {
                epi++;
                for (var i = 1; epi > i; i++)html += '<a target="_blank" href="http://' + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay/" + vids[i] + '.html">' + i + "</a>"
            }
            return html
        }
        return ""
    }

    function getTpl(t) {
        if ("预告片" == t.videoTypeName || "2" == t.src)return !1;
        switch (parseInt(t.category)) {
            case 2:
            case 5:
                return t.episodes === t.nowEpisodes ? tpl_tv_amin_le_ed : tpl_tv_amin_le_ing;
            case 1:
                return tpl_movie_le;
            case 11:
            case 19:
                return tpl_variety_lemake;
            default:
                return "3" == t.dataType && tpl_star
        }
    }

    function canUnfold(t) {
        if ("预告片" == t.videoTypeName || "2" == t.src)return !1;
        switch (parseInt(t.category)) {
            case 2:
            case 5:
            case 1:
            case 11:
            case 19:
                return !0;
            default:
                return "3" == t.dataType
        }
    }

    function setDetailPos(t, e) {
        var i = t.parent().height(), n = t.outerHeight();
        i > n + 33 * e - 20 ? t.css("marginTop", e ? 33 * e - 20 : 0) : t.css("marginTop", Math.max(0, i - n))
    }

    function arrToObj(t) {
        for (var e = (t || []).length, i = {}; e--;)t[e] && (i[t[e]] = !0);
        return i
    }

    function getFlat(t) {
        var e = arrToObj((t || "").split(",")), i = "" + (e[420001] || e[420002] ? ' <i class="f01" title="电脑"></i>' : "") + (e[420003] ? ' <i class="f02" title="手机端"></i>' : "") + (e[420005] ? ' <i class="f03" title="Pad端"></i>' : "") + (e[420007] ? ' <i class="f04" title="盒子端"></i> <i class="f05" title="超级电视"></i>' : "");
        return i ? '<dd class="flat"><em>播放平台：</em>' + i + "</dd>" : ""
    }

    var INFO, mark = 0, lesoLock = 1, lesoSendData = require("bz/com/lesoSendData"), _clientStore = {
        read: function () {
            if ("www.le.com" != location.hostname && "www.letv.com" != location.hostname) {
                var t = window.localStorage.getItem("historyData") || "[]";
                return JSON.parse(t)
            }
            return LocalStore.read("sch_his_data") || []
        }, write: function (t, e) {
            for (var i = this.read(), n = i.length; n--;)if (i[n] === t) {
                i.splice(n, 1);
                break
            }
            if (i.push(t), i.length > 10 && i.shift(0), "www.le.com" != location.hostname && "www.letv.com" != location.hostname) {
                var a = JSON.stringify(i);
                window.localStorage.setItem("historyData", a)
            } else LocalStore.write("sch_his_data", i);
            e && e(i)
        }
    }, Utils = LETV.Utils, tpl_list = new Tpl('<li data-index="{i}" data-value="{valueName}" data-fold="{fold}" {vipstat} class="{reportClass} {historyIcon}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{valueName}" data-position="{position}" data-click-area="text"><h5><a href="javascript:;" title="{valueName}">{LETV.Utils.clipstring($.name,28)}</a><small>{ctgName}</small></h5>{rarr}{vip}</li>', function (t, e) {
        t.i = e, t.categoryName ? t.ctgName = "(" + t.categoryName + ("预告片" == t.videoTypeName ? "预告片" : "") + ")" : "3" == t.dataType ? t.ctgName = "(明星)" : t.ctgName = "";
        var i = t.name;
        '"' == i.charAt(0) && (i = i.substring(1)), '"' == i.charAt(i.length - 1) && (i = i.substring(0, i.length - 1)), t.valueName = i, t.historyIcon = t.historyIcon ? t.historyIcon : "", t.global_id = t.global_id || "", t.rarr = canUnfold(t) ? '<span class="so-icon-rarr"></span>' : "", "3" == t.dataType ? t.category = 0 : canUnfold(t) ? t.category = t.category : t.category = "noCategory", t.fold = t.rarr ? "y" : "", t.vip = t.vip ? '<span style=" float:left; margin-left:20px; color:#ff0000; height:30px; line-height:30px; overflow:hidden;">抢先看</span>' : "", t.vipstat = t.vip ? 'k-name="send-click-stat" data-click-stat="ch=www&pg=all&bk=search&link=' + e + '"' : "", t.position = e + 1, t.reportClass = t.needReport ? "j_list_report" : ""
    }), tpl_tv_amin_le_ing = new Tpl('<dt class="j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="cover"><a {href}><img src="{postS1}" alt="" /></a></dt><dd><p class="tit j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="title"><a {href}>{LETV.Utils.clipstring($.name,18)}</a></p><p>共{$.episodes||$.nowEpisodes}集{updateTo}</p><p class="A_a j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="episodes_botton">{playlist}</p><p class="tr"><a class="A_more j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="more_button" {href}>查看更多&gt;&gt;</a></p></dd>', function (t) {
        t.href = 'target="_blank" href="' + cate2path[t.category] + t.aid + '.html"', t.updateTo = parseInt(t.nowEpisodes) ? " | 更新至第" + t.nowEpisodes + "集" : "", t.playlist = getPlayList(t.videoIDs, t.nowEpisodes, !0)
    }), tpl_tv_amin_le_ed = new Tpl('<dt class="j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="cover"><a {href}><img src="{postS1}" alt="" /></a></dt><dd><p class="tit j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="title"><a {href}>{LETV.Utils.clipstring($.name,18)}</a></p>{_episodes}<p class="A_a j_tips_report"  data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="episodes_botton">{playlist}</p><p class="tr"><a class="A_more j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="more_button" {href}>查看更多&gt;&gt;</a></p></dd>', function (t) {
        t.href = 'target="_blank" href="' + cate2path[t.category] + t.aid + '.html"', t.playlist = getPlayList(t.videoIDs, t.episodes, !1), t._episodes = t.episodes ? "<p>共" + t.episodes + "集</p>" : ""
    }), tpl_movie_le = new Tpl('<dt class="j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="cover"><a {href}><img src="{postS1}" alt="" /></a></dt><dd><p class="tit j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="title"><a {href} title="{name}">{LETV.Utils.clipstring($.name,18)}</a></p><p class="j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="other">导演:{_directory}</p><p class="j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="other1">演员:{_starring}</p><p class="tr j_tips_report" style="{hideBtn}" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="play_button"><a class="A-play" target="_blank" href="{playurl}">播放</a></p></dd>', function (t) {
        t._directory = getStarList(t.directory, 22, t), t._starring = getStarList(t.starring, 22, t), t.href = 'target="_blank" href="http://' + LETV.CONSTANT.host.SO_LETV_COM + "/film/" + t.aid + '.html"', t.playurl = "http://" + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay/" + (t.vid || t.latestVideo) + ".html", t.vid || (t.hideBtn = "display:none")
    }), tpl_variety_lemake = new Tpl('<dt class="j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="cover"><a {href}><img src="{postS1}" alt="" /></a></dt><dd><p class="tit j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="title"><a {href}>{LETV.Utils.clipstring($.name,18)}</a></p><p class="j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="other">主持人:{_starring}</p><p class="j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="new_atem">最新:<a target="_blank" href="http://' + LETV.CONSTANT.host.WWW_LETV_COM + '/ptv/vplay/{_vid}.html">{_latest}</a></p><p class="tr"><a class="A-play j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="play_button" target="_blank" href="http://' + LETV.CONSTANT.host.WWW_LETV_COM + '/ptv/vplay/{_vid}.html">播放</a></p></dd>', function (t) {
        t._starring = getStarList(t.starring, 20, t), t.href = 'target="_blank" href="' + cate2path[t.category] + t.aid + '.html"', t._latest = LETV.Utils.clipstring(t.latestVideoName, 20),
            t._vid = t.latestVideo
    }), tpl_star = new Tpl('<dt class="j_tips_report" data-position="{position}"  data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="cover"><a {href}><img src="{postS1}" alt="" /></a></dt><dd><p class="tit j_tips_report" data-position="{position}"  data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="title"><a {href}>{name}最新作品</a></p><p class="z_p j_tips_report" data-position="{position}"  data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="play_button"">{playlist}</p><p class="tr j_tips_report" data-position="{position}" data-globalid = "{global_id}" data-category = "{category}" data-sugtext = "{name}" data-click-area="more_button"><a class="A_more" {href}>查看更多&gt;&gt;</a></p></dd>', function (t) {
        var e, i = "";
        t.works || (t.works = []);
        for (var n = 0, a = Math.min(t.works.length, 3); a > n; n++)e = t.works[n], i += '<span><a target="_blank" href="http://' + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay/" + e.latestVideo + '.html" title="' + e.name + '">《' + LETV.Utils.clipstring(e.name, 18) + "》</a> </span>";
        var o = "&experiment_id=" + $(".SoResults").attr("data-experiment-id") + "&is_trigger=" + $(".SoResults").attr("data-is-trigger") + "&parent_eid=" + $(".SoResults").attr("data-eid"), r = "&module=suggest_list&click_area=other&gid=" + t.global_id + "&query=" + t.currentInput.val() + "&category=" + t.category + "&position=" + t.position + o + "&suggest_text=" + t.name;
        t.href = 'target="_blank" href="http://' + LETV.CONSTANT.host.SO_LETV_COM + "/s?wd=" + encodeURIComponent(t.name) + r + '"', t.playlist = i
    }), cate2path = {
        1: "http://" + LETV.CONSTANT.host.WWW_LETV_COM + "/movie/",
        2: "http://" + LETV.CONSTANT.host.WWW_LETV_COM + "/tv/",
        5: "http://" + LETV.CONSTANT.host.WWW_LETV_COM + "/comic/",
        11: "http://" + LETV.CONSTANT.host.WWW_LETV_COM + "/zongyi/",
        9: "http://" + LETV.CONSTANT.host.SO_LETV_COM + "/music/",
        3: "http://" + LETV.CONSTANT.host.SO_LETV_COM + "/ent/"
    }, Suggest = function (selector, settings) {
        function SelectPanel() {
            function updateOptions(t, e, n) {
                _data = t, e || (e = tpl_list);
                var a = _data.length > 10 ? _data.slice(0, 10) : _data;
                if (n)for (i = 0; i < a.length; i++)a[i].needReport = 1;
                $dlist.html(e.render(a)), popup.show(), $dlist.height("100%");
                var o = $dlist.height();
                165 > o && $dlist.find(".so-icon-rarr").length && (o = 165, $dlist.height(165)), detailBox.style.height = o + "px", select($dlist.find("li:first"))
            }

            function selectedOptionValue() {
                var t = $selectNow.attr("data-value");
                return setTimeout(function () {
                    $input.val(t)
                }, 1), t
            }

            function selectedOptionSubmit() {
                var t = $selectNow.attr("data-value"), e = $selectNow.attr("data-index");
                $input.val(t), $form.find("input[name='from']").val("suggest"), $form.find("input[name='index']").val(e), $form.submit(), setTimeout(function () {
                    $form.find("input[name='from']").val(INFO.search_from || "weizhi"), $form.find("input[name='index']").val("0")
                }, 50)
            }

            function select(t, e) {
                if ($dlist.find("li.hover").removeClass("hover active"), t.attr("data-fold")) {
                    var i = t.attr("data-index"), n = _data[i], a = $(detailBox.firstChild);
                    n.position = e, n.currentInput = $(selector), a.html(getTpl(n).render(n) + getFlat(n.pushFlag)), detailBox.style.display = "block", setDetailPos(a, +i), $dlist.addClass("so-active"), $iframe.width($newpopup.width())
                } else $dlist.removeClass("so-active"), detailBox.style.display = "none", setTimeout(function () {
                    $iframe.width($form.width())
                }, 30);
                t.addClass("hover active"), $selectNow = t
            }

            function selectNext() {
                var t = $selectNow.next();
                select(t.length ? t : $dlist.find("li:first"))
            }

            function selectPrev() {
                var t = $selectNow.prev();
                select(t.length ? t : $dlist.find("li:last"))
            }

            function panelShow() {
                var t = $form.offset(), e = $form.width();
                isSo ? e += 2 : (isTopnav || (e -= 2), $dlist.width(e - 1), e += 240), popup.updataCss({
                    left: t.left,
                    top: t.top + $form.height() + (isTopnav ? 0 : 2),
                    width: e
                }), popup.autoHide(!1), popup.show()
            }

            function panelHide() {
                popup.hide()
            }

            var $newpopup = $('<div style="display:none;position:absolute;" class="' + config.className + '"><ul class="so-result-left"></ul><div class="so-result-right"><dl style=""></dl></div></div>').appendTo("body");
            $('<iframe id="j-popup-suggest" frameborder="no" src="about:blank" style="display:none;"></iframe>').appendTo("body");
            var $dlist = $newpopup.find("ul"), detailBox = $newpopup[0].lastChild, $iframe = $("#j-popup-suggest"), _data, $selectNow, popup = LETV.UI.popup($newpopup, {iframeID: "#j-popup-suggest"}), $form = $input.parent(), isTopnav = $form.parents(".top-nav").length > 0, isSo = "搜索" === INFO.currentChannel;
            return $(window).on("resize", function () {
                popup.hide()
            }), $dlist.delegate("li", "mouseenter", function () {
                var t = $(this).index() + 1;
                select($(this), t)
            }), $dlist.click(function (e) {
                var t = e.target, staturl = "http://" + LETV.CONSTANT.host.DC_LETV_COM + "/s/?k=suggest;" + $selectNow.attr("data-index");
                if (t.getAttribute("target"))return void Utils.sendStat(staturl + (t.href.indexOf("/ptv/") > 0 ? "pl" : "de"));
                if ("img" === t.nodeName.toLowerCase())return void Utils.sendStat(staturl + "de");
                Utils.sendStat(staturl + "so");
                var _n = $(t).attr("data-index") || $(t).parents("li").attr("data-index"), _value = $(t).attr("data-value") || $(t).parents("li").attr("data-value"), _text = $.trim(_value).replace("(", "|").replace(")", "").replace(/\s*/g, "");
                Stats.sendAction({
                    ver: "2.0",
                    p1: 1,
                    p2: 10,
                    acode: 0,
                    ap: "el=01020200&wz=" + _n + "&query=" + __INFO__.wd + "text=" + _text,
                    pid: "-",
                    vid: "-",
                    lc: Stats.getCookie("tj_lc"),
                    cur_url: encodeURIComponent(window.location.href)
                });
                var targetName = t.nodeName.toLowerCase();
                if ("li" == targetName)var $tagLi = $(t); else var $tagLi = $(t).parents("li");
                if ($tagLi.hasClass("j_list_report") && lesoSendData.sendData("listReport", $tagLi, $(selector)), $tagLi.hasClass("cur") && $(".searchCnt").length) {
                    var dataParam = {
                        module: "search_history",
                        click_area: "text",
                        query: $tagLi.find("h5 a").text()
                    }, strDataInfo = $(".D_Img").eq(0).attr("data-info"), objDataInfo = eval("(" + strDataInfo + ")");
                    dataParam.eid = objDataInfo && objDataInfo.eid || "", lesoSendData.creatFormInput($(".searchCnt .j-formsearchbox"), dataParam)
                }
                selectedOptionSubmit(), panelHide()
            }), $(detailBox.firstChild).click(function (t) {
                var e = t.target, i = "http://" + LETV.CONSTANT.host.DC_LETV_COM + "/s/?k=suggest;" + $selectNow.attr("data-index");
                e.getAttribute("target") ? Utils.sendStat(i + (e.href.indexOf("/ptv/") > 0 ? "pl" : "de")) : "img" === e.nodeName.toLowerCase() && Utils.sendStat(i + "de")
            }), {
                selectNext: selectNext,
                selectPrev: selectPrev,
                selectedOptionValue: selectedOptionValue,
                updateOptions: updateOptions,
                show: panelShow,
                hide: panelHide,
                isHide: popup.isHide
            }
        }

        var config = {
            sourceDataOrUrl: "http://suggest.letv.cn/suggestion",
            className: "SoResults",
            selectClassName: "active"
        };
        settings && $.extend(!0, config, settings);
        var KEY = {
            UP: 38,
            DOWN: 40,
            DEL: 46,
            TAB: 9,
            RETURN: 13,
            ESC: 27,
            COMMA: 188,
            PAGEUP: 33,
            PAGEDOWN: 34,
            BACKSPACE: 8
        }, $input = $(selector).attr("autocomplete", "off");
        SelectPanel.__instance__ = null, SelectPanel.getInstance = function () {
            return this.__instance__ || (this.__instance__ = SelectPanel()), this.__instance__
        };
        var _focusInput = !0;
        $input.keydown(function (t) {
            var e = SelectPanel.getInstance();
            if (!e.isHide())switch (t.keyCode) {
                case KEY.UP:
                    e.selectPrev(), e.selectedOptionValue();
                    break;
                case KEY.DOWN:
                    _focusInput ? _focusInput = !1 : e.selectNext(), e.selectedOptionValue();
                    break;
                case KEY.ESC:
                    e.hide()
            }
        }), $input.click(function () {
            var t = $input.val();
            reqKeywordAndDis(t), _focusInput = !0
        }).blur(function () {
            setTimeout(function () {
                SelectPanel.getInstance().hide()
            }, 600)
        });
        var keyword = "", timerid = null, hasData = !1, reqKeywordAndDis = function (t) {
            t = $.trim(t);
            var e = SelectPanel.getInstance();
            if ("" === t) {
                var i = _clientStore.read(), n = i.length, a = [];
                if (n) {
                    for (; n--;)a.push({name: i[n].replace(/</g, "&lt;").replace(/>/g, "&gt;"), historyIcon: "cur"});
                    e.updateOptions(a), e.show(), hasData = !0
                } else {
                    var o = "http://" + LETV.CONSTANT.host.DATA_SO_LETV_COM + "/data?callback=?", r = {
                        card_id: "102",
                        user_id: Cookie.get("ssouid") || "",
                        platform: "pc",
                        num: "13"
                    };
                    $.getJSON(o, r, function (t) {
                        if (t) {
                            var i = t.card_data_list[0].data_list, n = 0, a = i.length;
                            if (a) {
                                for (; a > n;)i[n].name = i[n].title, n >= a - 3 ? i[n].vip = !0 : i[n].vip = !1, n++;
                                e.updateOptions(i), e.show(), hasData = !0
                            } else e.hide(), hasData = !1
                        }
                    })
                }
                return void(keyword = "")
            }
            return keyword === t ? void(hasData && e.isHide() && e.show()) : (clearTimeout(timerid), void(timerid = setTimeout(function () {
                if (lesoLock) {
                    lesoLock = 0, keyword = t;
                    var i = {
                        p: "pcjs",
                        q: keyword,
                        from: "pc",
                        jf: 1,
                        lang: "zh_cn",
                        ph: "420001",
                        dt: "1,2,3,4,6",
                        user_setting_country: "CN",
                        device_id: Stats && Stats.getLC()
                    };
                    Cookie.get("ssouid") && (i.uid = Cookie.get("ssouid")), $.ajax({
                        url: config.sourceDataOrUrl,
                        dataType: "jsonp",
                        jsonp: "callback",
                        data: i,
                        success: function (t) {
                            if (t) {
                                mark = 1;
                                var i = t.eid || "", n = t.experiment_bucket_str || "", a = t.trigger_str || "", o = t.experiment_id || "", r = t.trigger_str, s = t.is_trigger || "";
                                $(".SoResults").attr({
                                    "data-eid": i,
                                    "data-experiment-bucket-str": n,
                                    "trigger-str": a,
                                    "data-experiment-id": o,
                                    "data-is-trigger": s,
                                    "data-trigger-str": r
                                });
                                var l = t.data_list;
                                l && l.length ? (e.updateOptions(l, "", 1), e.show(), hasData = !0) : (e.hide(), hasData = !1), Stats.sendAction({
                                    ver: "2.0",
                                    p1: 1,
                                    p2: 10,
                                    acode: 19,
                                    ap: "el=01020200&wz=-&query=" + __INFO__.wd + "text=-",
                                    pid: "-",
                                    vid: "-",
                                    lc: Stats.getCookie("tj_lc"),
                                    cur_url: encodeURIComponent(window.location.href)
                                }), lesoSendData.sendData("pv", keyword, $(selector)), lesoLock = 1
                            }
                        }
                    })
                }
            }, 200)))
        };
        if ($.browser.opera) {
            var inteID = null;
            $input.focus(function () {
                var t = this;
                clearInterval(inteID), inteID = setInterval(function () {
                    reqKeywordAndDis(t.value)
                }, 200)
            }), $input.blur(function () {
                clearInterval(inteID)
            })
        } else $input.keyup(function (t) {
            switch (t.keyCode) {
                case KEY.UP:
                case KEY.DOWN:
                case KEY.ESC:
                    return
            }
            reqKeywordAndDis(this.value)
        })
    };
    $(function () {
        INFO = window.__INFO__ || {};
        for (var t = INFO.search_word || [], e = t.length, i = e ? t[Math.floor(Math.random() * e)] : "", n = $(".j-formsearchbox"), a = 0; a < n.length; a++) {
            var o = $(n[a]);
            i && o.find('input[name="wd"]').val(i).focus(function () {
                this.value === i && (this.value = "")
            }).blur(function () {
                "" === this.value && (this.value = i)
            });
            var r = o.find('input[name="wd"]').eq(0);
            if (!r.length)return;
            o.on("mouseover", function () {
                o.addClass("hover")
            }), o.on("mouseout", function () {
                o.removeClass("hover")
            }), o.on("submit", function () {
                var t = $.trim(r.val());
                return t && _clientStore.write(t), "" !== t
            }), r.on("focus", function () {
                o.addClass("active")
            }), r.on("blur", function () {
                o.removeClass("active")
            }), Suggest(r)
        }
        if ("none" == $(".top-nav .con").css("display"))var s = $(".j-formsearchbox .i-t").eq(1); else var s = $(".j-formsearchbox .i-t").eq(0);
        $("body").delegate(".j_tips_report", "click", function () {
            lesoSendData.sendData("tipsReport", $(this), s)
        }), $(".j-formsearchbox").on("submit", function (t) {
            var e = $(t.target);
            if ("suggest" != e.find("input[name='from']").val()) {
                var n, a = e.find(".i-t").val();
                n = a == i ? 1 : 0, lesoSendData.sendData("searchBtnReport", {
                    is_default_query: n,
                    mark: mark
                }, s), mark = 0
            }
        })
    })
}(), function () {
    var t = document.getElementsByTagName("head")[0], e = document.createElement("script");
    LETV.passport = [], LETV.passport.cbEvnets = [], LETV.passport.ready = function (t) {
        "function" == typeof t && (window.LEPass ? t() : LETV.passport.cbEvnets.push(t))
    }, e.onload = e.onreadystatchange = function () {
        if (!this.readyState || "loaded" == this.readyState || "complete" == this.readyState) {
            for (var t = 0; t < LETV.passport.cbEvnets.length; t++)LETV.passport.cbEvnets[t].call(null);
            e.onload = e.onreadystatechange = null
        }
    }, e.type = "text/javascript", e.src = "https://jstatic.letvcdn.com/sdk/passport.js", t.appendChild(e)
}(), window.letv_login_cb = {
    _EVENTS_: {}, on: function (t, e, i) {
        "function" == typeof e ? i = e : i._CENAME_ = e, (this._EVENTS_[t] || (this._EVENTS_[t] = [])).push(i)
    }, off: function (t, e) {
        if (e && (t = this._EVENTS_[t]))for (var i = t.length; i--;)t[i]._CENAME_ === e && t.splice(i, 1); else delete this._EVENTS_[t]
    }, emit: function (t) {
        if (t = this._EVENTS_[t])for (var e = 0, i = t.length, n = t.slice.call(arguments, 1); i > e; e++)t[e].apply(this, n)
    }, loginSuccess: function () {
        Stats.Lg && Stats.Lg.postData({st: 0}), this.emit("loginSuccess")
    }, autoLoginSuccess: function () {
        this.emit("autoLoginSuccess")
    }, logoutSuccess: function () {
        Stats.Lg && Stats.Lg.postData({st: 1}), this.emit("logoutSuccess")
    }, loginError: function (t) {
        this.emit("loginError", t)
    }, resize: function (t, e) {
        $("#login_iframe").height(e).find("iframe").attr("height", e), this.emit("resize", t, e)
    }, open: function (t) {
        this.emit("open", t)
    }, close: function (t) {
        Stats.Lg && Stats.Lg.clearLgCookie(), this.emit("close", t)
    }
}, LTK["air/util/MixCookie"] = {
    set: function (t, e, i) {
        t = t.replace(/-/g, ""), e = null === e ? "" : String(e).replace(/-/g, ""), i = !!i;
        for (var n = Cookie.get(i ? "MixCookie" : "MixCook"), a = n.split("-"), o = a.length, r = 0; o > r; r += 2)if (a[r] === t) {
            "" === e ? a.splice(r, 2) : a[r + 1] = e, t = !1;
            break
        }
        "" === e && (t = !1), Cookie.set(i ? "MixCookie" : "MixCook", t ? (n && n + "-") + t + "-" + e : a.join("-"), i ? {exp: "forever"} : {})
    }, get: function (t, e) {
        t = t.replace(/-/g, "");
        for (var i = Cookie.get(e ? "MixCookie" : "MixCook").split("-"), n = i.length, a = 0; n > a; a += 2)if (i[a] === t)return i[a + 1].replace(/\u0001/g, "-");
        return ""
    }
}, function () {
    var t = Spirit.Event, e = t.regEvent("loginSuccess"), i = t.regEvent("logoutSuccess");
    UserValidate = {
        loginSucc: function (t) {
            this.syncLogin(t), this.getMemberInfo()
        }, thirdLogin: function (t) {
            var e = this;
            try {
                var i = t.picture && t.picture.split(","), n = t.nickname + "__RES__" + t.uid + "__RES__" + t.userkey + "__RES__" + i[3] + "__RES__" + i[2];
                this.setCookie(t.userkey, function () {
                    if (LETV.setDeliverCookie)return void(window.location = LETV.setDeliverCookie + "/User/sysCookie?userkey=" + t.userkey + "&next_action=" + (LoginMgr.nextAction || "http://www.le.com"));
                    if (window.self === window.top)window.location.host === LETV.CONSTANT.host.SSO_LETV_COM ? (e.syncLogin(t), setTimeout(function () {
                        location.href = LoginMgr.nextAction || "http://" + LETV.CONSTANT.host.WWW_LETV_COM + "/"
                    }, 200)) : (e.loginSucc(t), letv_login_cb.loginSuccess()); else if (LoginMgr.nextAction)if (e.syncLogin(t), LoginMgr.deliverUrl) {
                        try {
                            $("#deliver_page").attr("src", LoginMgr.deliverUrl + "#callback=letv_login_cb&action=loginSuccess&data=third")
                        } catch (i) {
                        }
                        setTimeout(function () {
                            try {
                                $("#deliver_page").attr("src", LoginMgr.deliverUrl + "#callback=LEPass&action=loginSuccess&data=" + n)
                            } catch (t) {
                            }
                        }, 1e3)
                    } else setTimeout(function () {
                        location.href = LoginMgr.nextAction
                    }, 200); else if (parent.UserValidate || parent.LEPass && parent.LEPass.UserValidate) {
                        try {
                            parent.UserValidate.loginSucc(t, n)
                        } catch (i) {
                        }
                        try {
                            parent.letv_login_cb.loginSuccess()
                        } catch (i) {
                        }
                        try {
                            parent.LEPass.UserValidate.loginSucc(t, n)
                        } catch (i) {
                        }
                        try {
                            parent.LEPass.letv_login_cb.loginSuccess(n)
                        } catch (i) {
                        }
                    } else e.syncLogin(t), setTimeout(function () {
                        try {
                            parent.letv_login_cb.loginSuccess()
                        } catch (t) {
                        }
                    }, 300)
                })
            } catch (a) {
                e.syncLogin(t), setTimeout(function () {
                    try {
                        parent.letv_login_cb.loginSuccess()
                    } catch (t) {
                    }
                }, 300)
            }
        }, logout: function () {
            LEPass.logOut(function () {
                letv_login_cb.logoutSuccess(), t.fireEvent(i, {type: "click", log: "用户未登录"});
                var e = require("air/util/MixCookie");
                e.set("tk_checked", "")
            })
        }, syncLogin: function (t) {
        }, getUserInfo: function () {
            var t = Cookie.get("ssouid");
            if (!t)return null;
            var e = LETV.cookie("m"), i = LETV.cookie("sso_picture"), n = LETV.cookie("u"), a = LETV.cookie("sso_icon") || !1, o = this.memberInfo || {};
            try {
                n = n ? LETV.json(LETV.Base64.decode(n)) : {}
            } catch (r) {
                n = {}
            }
            return a && (a = a.split(",")), {
                sso: t,
                username: e,
                email: n.email,
                nickname: LETV.cookie("sso_nickname") || n.nickname || "",
                letvname: n.name,
                headicon: i,
                headicon_50: a ? a[3] : i,
                headicon_70: a ? a[2] : i,
                headicon_200: a ? a[1] : i,
                ssouid: n.ssouid,
                uid: n.uid,
                memberInfo: o.allInfo,
                userlevel: o.userlevel,
                lasttime: o.lasttime,
                surplus: o.surplus,
                expireDate: o.expireDate
            }
        }, getMemberInfo: function (i) {
            var n = this, a = setTimeout(function () {
                t.fireEvent(e, {type: i || "click", log: "登录成功,请求会员接口超时"})
            }, 5e3);
            "https:" != window.location.protocol && $.ajax({
                url: "//" + LETV.CONSTANT.host.YUANXIAN_LETV_COM + "/letv/net/checkLogin.jsp?callback=?&location=" + encodeURIComponent(location.href),
                dataType: "jsonp",
                success: function (o) {
                    o && (n.memberInfo = {
                        allInfo: o,
                        userlevel: o.isvip,
                        lasttime: o.productEndTime,
                        surplus: o.days,
                        expireDate: o.endtime
                    }, clearTimeout(a), t.fireEvent(e, {
                        type: i || "click",
                        log: "登录成功"
                    }), "auto" === i && letv_login_cb.autoLoginSuccess())
                }
            })
        }, setCookie: function (t, e) {
            var i = setTimeout(function () {
                e && e()
            }, 3e3), n = window.isLe ? "https://sso.letv.com/User/sysCookie" : "https://sso.le.com/User/sysCookie";
            $.ajax({
                url: n, data: {userkey: t}, dataType: "jsonp", jsonp: "jsonp", success: function (t) {
                    clearTimeout(i), e && e()
                }
            })
        }, syeLetv: function () {
            function t(t) {
                $.ajax({
                    url: "https://sso.letv.com/User/sysCookie",
                    data: {userkey: t, sysLe: 1},
                    dataType: "jsonp",
                    jsonp: "jsonp",
                    success: function (t) {
                    }
                })
            }

            $.ajax({
                url: "//sso.le.com/open/checklogin", dataType: "jsonp", jsonp: "jsonp", success: function (e) {
                    e.uid && e.userKey && t(e.userKey)
                }
            })
        }
    }, $(function () {
        LETV.passport.ready(function () {
            LEPass.onReady(function (e) {
                1 == e.islogin ? UserValidate.getMemberInfo("auto") : t.fireEvent(i, {type: "auto", log: "用户未登录"})
            })
        })
    }), Spirit.UserValidate = UserValidate
}(), window.__INFO__ && "zh-hk" === __INFO__.lang || $(function () {
    var t, e, i, n = ".j_user_bar", a = $(n), o = Spirit.Event, r = Spirit.UserValidate, s = a.find(".j-ub-msg"), l = Spirit.userLogin, c = !!window.__INFO__ && "zh-hk" === __INFO__.lang, d = {
        icon: "http://i0.letvimg.com/img/201207/30/tx70.png",
        slide: {
            pic: "http://i2.letvimg.com/img/201410/10/1448/img/ad.jpg",
            link: "http://" + LETV.CONSTANT.host.ZHIFU_LETV_COM + "/tobuy/pro"
        }
    }, u = {
        repay: {text: "会员续费", rep: "bk=topnav&link=vip_xufei_click"},
        open: {text: "开通会员", rep: "bk=topnav&link=vip_kaitong_click"}
    }, p = "http://" + LETV.CONSTANT.host.MSG_TOUCH_MY_LE_COM + "/message/listNavMessage", f = {platform: "pc"}, h = {curSender: ""}, m = {
        member: {
            left: 160,
            selector: ".j-ub-popmem"
        }, msg: {left: 181, selector: ".j-ub-popmsg"}
    }, g = require("air/util/clip"), _ = 72, v = "data-click-stat", y = {
        ul: "bk=topnav&link=news_point_click",
        log: "bk=topnav&link=news_click"
    }, b = "__UCNAVI__", T = window[b], w = "http://" + LETV.CONSTANT.host.WWW_LETV_COM + "/commonfrag/sub_ucnavi.inc", E = 0, k = '<span class="user_bar_item j-ub-plslogin"><a href="javascript:;" k-name="ub/login" data-rep="bk=topnav&link=loginclick"><b>登录</b></a></span><span class="user_bar_item j-ub-reg"><a href="http://' + LETV.CONSTANT.host.SSO_LETV_COM + '/user/emailreg" target="_blank"  k-name="send-click-stat" data-click-stat="bk=topnav&link=rstclick" ><b>注册</b></a></span>', L = '<div class="login_speed1 j-ub-tips" style="top: 36px; left: -23px;"><i class="ico_arrow"></i><i class="speed_2"><a href="{link}" {target} {dataReport}><img src="{pic}" alt="{title}" title="{title}"/></a></i><span><a href="{link}" {target} {dataReport} title="{title}" >{title}</a></span></div>', C = '<a href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '" target="_blank"><img class="user_head j-ub-headicon" src="{headIcon}"><u class="i-bg"></u><i class="i-doc"></i></a>', x = '<li style="float:left;"><a href="{href}" target="_blank" k-name="send-click-stat" data-click-stat="bk=topnav&link=vip_act_click" class="vip_ad" ><img src="{imgSrc}"/></a></li>', S = '<div class="vip_top"><dl class="{novip_cls}" >{head_icon}{name}{expire_date}</dl><div class="vip_style"><a href="{member_link}" k-name="send-click-stat" data-click-stat="bk=topnav&link=vip_sale_click" target="_blank"><img src="http://i2.letvimg.com/img/201410/10/1448/img/v1.jpg"></a><a href="{member_link}" k-name="send-click-stat" data-click-stat="bk=topnav&link=vip_sale_click" target="_blank"><img src="http://i0.letvimg.com/img/201410/10/1448/img/v2.jpg"></a><a href="{member_link}" k-name="send-click-stat" data-click-stat="bk=topnav&link=vip_sale_click" target="_blank"><img src="http://i1.letvimg.com/img/201410/10/1448/img/v3.jpg"></a><a href="{member_link}" k-name="send-click-stat" data-click-stat="bk=topnav&link=vip_sale_click" target="_blank"><img src="http://i3.letvimg.com/img/201410/10/1448/img/v4.jpg"></a><a href="{member_link}" k-name="send-click-stat" data-click-stat="bk=topnav&link=vip_sale_click" target="_blank"><img src="http://i0.letvimg.com/img/201410/10/1448/img/v5.jpg"></a></div><a href="{btnLink}" k-name="send-click-stat" data-click-stat="{repayReport}" class="user_pop_btn j-ub-opmbtn" target="_blank">{repayInfo}</a><div class="j-ub-autoplay" style="position:relative;height:81px;overflow:hidden;margin:1px;"><ul style="width:801px;position:absolute;">{slideItems}</ul></div></div>', A = '<div class="news_tab_title" k-name="ub/mymsg"><span data-con="sys" class="system_news selected">活动消息</span><span data-con="mine" class="mynews">与我相关</span></div><div class="news_tab_con" k-name="ub/navi/msglist"><ul class="mynews_con j-ub-mine" style="display:none"></ul><ul class="system_news_con  j-ub-sys" style="display:block"></ul>{noMsgOrLoading}<a href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '/message" data-msgtype="more" target="_blank" class="more_news j-ub-moremsg" k-name="send-click-stat " data-click-stat="bk=topnav&link=news_more_click" style="display:none;">更多消息></a></div>', N = new Tpl('<li><a href="{$.msgUrl}" target="_blank" title="{$.title}">{$._content}</a></li>'), O = new Tpl("<li><span>{$._content}</span></li>"), M = '<p class="no_news">暂无消息</p>', I = '<div class="j-ub-sysloading smallLoad" style="margin:30% 0 0 35%">努力加载中...</div>', V = '<a href="javascript:;" k-name="ub/login" data-rep="bk=topnav&link=news_login_button_click" class="user_pop_btn">马上登录</a><p class="no_news"><a href="javascript:;" data-rep="bk=topnav&link=news_login_word_click" k-name="ub/login">登录</a>后才可以查看全部消息呦~</p>', j = LETV.using("UI"), D = function (t) {
        var e, i, n, o = !0, r = !0;
        if (t && ("www_play" == __INFO__.pageid && (r = !1), e = t, i = {
                pic: e.pic1,
                link: e.link1 || "javascript:;",
                target: e.link1 ? ' target="_blank" ' : "",
                dataReport: e.link1 ? ' k-name="send-click-stat" data-click-stat="bk=topnav&link=tipsclick" ' : 'k-name="ub/login" data-rep="bk=topnav&link=tipsclick"',
                title: e.title1
            }, i.title)) {
            if (n = a.find(".j-ub-tips"), !n.length && o) {
                var s = Tpl.simple(L, i);
                if (n = $(s).prependTo(a), !r) {
                    var l = "-" + $(".j-ub-tips").width() + "px";
                    $(".j-ub-tips").addClass("login_speed1_left").css({left: l, top: "8px"}).find(".ico_arrow").remove()
                }
            }
            a.find(".j-ub-follow:visible").length || n.length && (n.is(":visible") || n.show())
        }
    }, P = function (t) {
        return t ? void(T ? D(T) : $.getScript(w, function () {
            D(window[b])
        })) : void a.find(".j-ub-tips").hide().end().find(".j-ub-plslogin").remove().end().find(".j-ub-reg").remove()
    }, R = function () {
        if (!a.find(".j-ub-follow:visible").length && !r.getUserInfo()) {
            var t = a.find(".j-ub-tips");
            t.is(":visible") || t.show()
        }
    }, U = function (t) {
        var e = r.getUserInfo(), i = a.find(".j-ub-head"), n = i.find("j-ub-headicon"), o = "";
        return t || !e ? void i.html("").hide() : (isVip = e.userlevel, isVip && i.find(".j-ub-vip").addClass("svip"), n.src = d.icon, o = Tpl.simple(C, {
            isvipCls: isVip > 0 ? "svip" : "",
            headIcon: e.headicon_50 || d.icon
        }), o && i.html(o).show(), void 0)
    }, F = function () {
        var t, e, i, n;
        t = r.getUserInfo(), e = "open", t && t.userlevel > 0 && (e = "repay"), n = a.find(".j-ub-popmem"), a.find(".j-ub-omtext").text(u[e].text), n.find(".j-ub-opmbtn").text(u[e].text).attr(v, u[e].rep), i = a.find(".j-ub-pop:visible"), i.length && X(i.data("ub_pop_type"))
    }, B = function () {
        $.ajax({
            type: "GET",
            url: "http://" + LETV.CONSTANT.host.TES_TOUCH_MY_LETV_COM + "/msg/time",
            dataType: "jsonp",
            success: function (t) {
                if (0 != t.status_code)return console.log("失败 code：" + t.status_code);
                var e = t.result_data && t.result_data.last_time;
                outStoreTime = Cookie.get("outStoreTime"), e > outStoreTime ? $(".j-i-red").show() : $(".j-i-red").hide()
            }
        })
    }, H = function () {
        var t = s.find(".j-i-red");
        c || $.getJSON("http://" + LETV.CONSTANT.host.MSG_TOUCH_MY_LE_COM + "/message/unreadcount?callback=?&platform=pc", function (e) {
            var i = e.data;
            i && "0" !== i ? (t.show(), Cookie.set("hasNewMsg", "hasMsg", {exp: .05})) : (t.hide(), Cookie.set("hasNewMsg", "noMsg", {exp: .05}))
        })
    }, Y = function () {
        P(), U(), F(), H();
        var e = s.find(".j-i-red");
        t = setInterval(function () {
            var t = Cookie.get("hasNewMsg");
            if ("" == t)H(); else switch (t) {
                case"noMsg":
                    e.hide();
                    break;
                case"hasMsg":
                    e.is(":visible") || e.show()
            }
        }, 18e4), s.attr(v, y.log), h.curSender && h.curSender.resize(), h.curSender = null
    }, z = function () {
        var e = a.find(".j-ub-tips");
        a.find(".j-ub-plslogin").length || (e.length ? e.after(Tpl.simple(k)) : a.prepend(Tpl.simple(k))), P(!0), U(!0), F(), B(), s.attr(v, y.ul), clearInterval(t)
    }, W = function () {
        q(), K()
    }, q = function (t) {
        t = a.find(".j-ub-popmem"), a.find(".j-ub-openm i").hide();
        j.Dialog({
            cont: t, shadow: 1, zIndex: 300, onInit: function (t) {
                Ker.on("ub/navi/openm", function () {
                    var t = r.getUserInfo(), e = t && t.userlevel, i = e > 1 ? "http://" + LETV.CONSTANT.host.ZHIFU_LETV_COM + "/tobuy/pro" : "http://" + LETV.CONSTANT.host.ZHIFU_LETV_COM + "/tobuy/regular";
                    i += "?ref=ym03088", window.open(i, "_blank")
                })
            }, onShow: function (t) {
                X("member", t)
            }
        })
    }, K = function (t) {
        t = a.find(".j-ub-popmsg");
        j.Dialog({
            cont: t, shadow: 1, zIndex: 300, onInit: function (t) {
                var e = null;
                $(".j-ub-msg").on("mouseenter", function () {
                    e = setTimeout(function () {
                        a.find(".j-ub-msg .j-i-red").hide();
                        var e = t.options.cont.filter(":visible").length > 0 ? !0 : !1;
                        return e ? !1 : (t.show(), r.getUserInfo() ? Stats && Stats.sendAction({ap: "ch=topNav&pg=news&bk=login&link=hover"}) : Stats && Stats.sendAction({ap: "ch=topNav&pg=news&bk=logout&link=hover"}), void(($.browser.iPad || $.browser.iPhone || $.browser.andorid) && Spirit.userLogin.cssRevise()))
                    }, 300)
                }).on("mouseleave", function () {
                    clearTimeout(e)
                })
            }, onShow: function (t) {
                X("msg", t)
            }
        })
    }, G = function (t, e) {
        if (!0 === t || t.length) {
            var i = function (t) {
                var e = t instanceof $ ? t : $(t);
                e.is(":visible") && (e.hide(), e.data("ub_pop_type", ""), e.next("iframe").hide())
            }, n = e || [];
            !0 === t ? (n.length || (n = a.find(".j-ub-pop:visible")), !n.length || $.each(n, function (t, e) {
                i(e)
            }), R()) : (n = t.siblings(".j-ub-pop:visible"), n.push(t.siblings(".H-play").find(".list.t-i:visible")), !n.length || $.each(n, function (t, e) {
                i(e)
            }), a.find(".j-ub-tips:visible").hide())
        }
    }, X = function (t, e) {
        var i, n;
        if (m[t]) {
            if (i = a.find(m[t].selector), n = i.find(".j-ub-omarrow"), e) {
                if (G(i), e && e.resize(), i.data("ub_pop_type") === t)return i.data("ub_pop_type", ""), e && e.hide(), void R();
                i.data("ub_pop_type", t), h.curSender = e
            }
            "member" === t ? J(i, n) : "msg" === t && tt(i, n)
        }
    }, J = function (t, e) {
        var i = r.getUserInfo(), n = i && i.nickname, a = i && i.lasttime, o = i ? i.headicon_50 : d.icon, s = i && i.userlevel, l = {
            1: "PC",
            2: "TV"
        }, c = s > 1 ? "http://" + LETV.CONSTANT.host.ZHIFU_LETV_COM + "/tobuy/pro" : "http://" + LETV.CONSTANT.host.ZHIFU_LETV_COM + "/tobuy/regular", p = s > 0 ? "http://" + LETV.CONSTANT.host.YUANXIAN_LETV_COM + "/" : "http://" + LETV.CONSTANT.host.ZHIFU_LETV_COM + "/tobuy/regular", f = s > 0 ? '<dd class="vip_validity">' + l[s] + "版会员有效期：" + a + "</dd>" : "", h = n ? '<dd class="vip_username"><span class="user_name"><a href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '/" target="_blank">' + g(n, 15) + '</a></span><a href="' + p + '?ref=ym03011" k-name="send-click-stat" data-click-stat="' + (1 > s ? "bk=topnav&link=vip_blackv_click" : "bk=topnav&link=vip_redv_click") + '" target="_blank" class="i_vip"></a></dd>' : "", _ = '<a href="javascript:;" data-rep="bk=topnav&link=vip_picclick" k-name="ub/login">', v = "open", y = 160, b = "", w = {};
        if (i && (_ = '<a href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '/" k-name="send-click-stat" data-click-stat="bk=topnav&link=vip_picclick_logined" target="_blank">', y = m.member.left, i.userlevel > 0 && (v = "repay")), _ = "<dt>" + _ + '<img src="' + o + '"/><u class="i-bg"></u></a></dt>', E = 0, T) {
            h || (h = T && T.title1, h = '<dd class="vip_username">' + h + "</dd>");
            for (var k in T)if (k.indexOf && -1 !== k.indexOf("slide") && T.hasOwnProperty(k)) {
                var L, C, A;
                if (L = k.split("_")[2], w[L])continue;
                w[L] = k, E++, C = T["slide_pic_" + L], A = T["slide_link_" + L], C && A && (b += Tpl.simple(x, {
                    imgSrc: C,
                    href: A
                }))
            }
        }
        b || (b = Tpl.simple(x, {
            imgSrc: d.slide.pic,
            href: d.slide.link
        }), E = 1), html = Tpl.simple(S, {
            btnLink: c + "?ref=ym03013",
            member_link: p + "?ref=ym03012",
            novip_cls: 1 > s ? "notvip" : "",
            head_icon: _,
            name: h,
            expire_date: f,
            repayInfo: u[v].text,
            repayReport: u[v].rep,
            slideItems: b
        }), html && t.find(".j-ub-omcon").html(html), E > 1 && Q(t)
    }, Q = function (t) {
        var e, i, n, a, o, r = t.find(".j-ub-autoplay ul"), s = function () {
            clearTimeout(a);
            var t = r.find("li");
            e = t.first().outerWidth(), n = t.length, o = setInterval(l, 1800)
        }, l = function () {
            var t = 800;
            r.is(":visible") || clearInterval(o), !i && (i = 1), i === n && (i = 0, t = 400), r.animate({left: -(i * e)}), i++
        };
        a = setTimeout(s, 1e3)
    }, Z = function (t, e) {
        var i = g(t, e), n = i.lastIndexOf("<a");
        if (-1 !== n) {
            var a = i.indexOf("</a>", n);
            -1 === a && (i = i.substring(0, n - 1) + "..")
        }
        return i
    }, tt = function (t, e) {
        var i = r.getUserInfo();
        return t.find(".j-ub-omcon").html(Tpl.simple(A, {noMsgOrLoading: I})).end()[(i ? "remove" : "add") + "Class"]("nologin_news"), i ? void it({
            api: p,
            param: f,
            cb: function (e) {
                if (e) {
                    var i, n, a, o, r = [], s = 'href="http://' + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay", l = 'k-name="send-click-stat" data-click-stat="bk=topnav&link=news_my_play_click" ', c = "";
                    i = new RegExp(s, "gi"), n = new RegExp("target=\"_blank\" | target='_blank'", "gi"), a = new RegExp("href=", "gi"), e.data && e.data.associated_message_with_my && e.data.associated_message_with_my.items && (r = e.data.associated_message_with_my.items.slice(0, 5)), c = "mine=" + (r.length > 0 ? r.length : "");
                    var d = O.render(r || [], function (t) {
                        switch ("" + t.from) {
                            case"3":
                                t._content = t.content;
                                break;
                            case"7":
                                t._content = t.content;
                                break;
                            case"9":
                                var e = t.content && t.content.replyInfo, o = e.userInfo && e.userInfo.nickname, r = e.content;
                                t._content = o + "回复了我：" + r + '<a href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '/message/?tab=comment" class="lookall" k-name="send-click-stat"  data-click-stat="ch=msgNav&pg=msgMine&bk=replyMsg&link=click">查看</a>';
                                break;
                            case"10":
                                var c = "http://" + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay/" + t.vid;
                                "1" == t.platformNowEpisodesNum ? t._content = '您<a href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '/favorite">收藏</a>的<a href="' + c + '">《' + t.title + "》</a>已上线，快去看看吧！" : t._content = '您<a href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '/favorite">收藏</a>的<a href="' + c + '">《' + t.title + "》</a>更新至<a href=" + c + ">" + t.platformNowEpisodesNum + "</a>";
                                break;
                            case"12":
                                t._content = t.content + '<a href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '/message/?tab=system" class="lookall">查看</a>'
                        }
                        t._content = t._content && t._content.replace(n, "") || "", t._content = t._content && t._content.replace(a, ' target="_blank" href=') || "", t._content = t._content && t._content.replace(i, l + " " + s) || ""
                    });
                    r = [], e.data && e.data.activity_message_data && (r = e.data.activity_message_data.slice(0, 3)), c += ";sys=" + (r.length > 0 ? r.length : "");
                    var u = N.render(r || [], function (t) {
                        var e = Z(t.content, _), i = t.url ? t.url : "http://" + LETV.CONSTANT.host.MY_LETV_COM + "/message";
                        e = e.replace(n, ""), e = e.replace(a, ' target="_blank" href='), t.msgUrl = i, t.title = t.content, t._content = e
                    });
                    t.find(".j-ub-sysloading").hide();
                    var p = t.find(".j-ub-mine"), f = t.find(".j-ub-sys");
                    p.html(d || M), f.html(u || M), o = t.find(".j-ub-moremsg").data("msglen", c), u && o.show(), $.getJSON("http://" + LETV.CONSTANT.host.MSG_TOUCH_MY_LE_COM + "/message/readall?callback=?")
                }
            }
        }) : ($(".j-ub-mine").append(V), void $.ajax({
            url: "http://" + LETV.CONSTANT.host.TES_TOUCH_MY_LETV_COM + "/msg/activity",
            dataType: "jsonp",
            success: function (e) {
                var i = [], n = t.find(".j-ub-sys");
                if (e.result_data && $.isArray(e.result_data.info_list)) {
                    var i = e.result_data.info_list.slice(0, 3), a = "mine=";
                    a += ";sys=" + (i.length > 0 ? i.length : "");
                    var o = N.render(i || [], function (t) {
                        var e = Z(t.text, _), i = t.url ? t.url : "http://" + LETV.CONSTANT.host.MY_LETV_COM + "/message";
                        t.msgUrl = i, t.title = t.text, t._content = e
                    });
                    t.find(".j-ub-sysloading").hide(), n.html(o), $showMore = t.find(".j-ub-moremsg"), $showMore = t.find(".j-ub-moremsg").data("msglen", a), o && $showMore.show()
                } else n.html(M), $(".j-ub-sysloading").hide();
                var r = e.result_data && e.result_data.last_time;
                Cookie.set("outStoreTime", r)
            }
        }))
    }, et = !1, it = function (t) {
        et || (et = !0, $.ajax({
            url: t.api, data: t.param, dataType: "jsonp", jsonp: "callback", success: function (e) {
                var i = e.code || 0;
                et = !1, 200 === parseInt(i, 10) && t.cb && t.cb(e)
            }
        }))
    }, nt = function (t, e) {
        var i, n, a, o;
        if (t.length)if (i = t.find(".j-ub-omcon"), n = t.find(".j-ub-omarrow"), a = i.find(".j-ub-moremsg"), o = a.data("msglen"), o = o && o.split(";"), e) {
            var r = i.find(".j-ub-sys");
            n.addClass("i_arrow_g"), r.siblings("ul").hide().end().show(), o && (o[1].split("=")[1] ? a.show() : a.hide())
        } else {
            var s = i.find(".j-ub-mine");
            n.removeClass("i_arrow_g").addClass("i_arrow"), s.siblings("ul").hide().end().show(), o && (o[0].split("=")[1] ? a.show() : a.hide())
        }
    }, at = function (t) {
        t && Stats.sendAction({acode: "0", ap: t})
    }, ot = function (t) {
        var e, i = $("#next_action").val(), n = !1, a = window.location.href, o = {
            qq: [710, 450],
            sina: [750, 540],
            alipay: [940, 550],
            renren: [590, 380],
            msn: [500, 500],
            feixin: [620, 315],
            kaixin: [750, 540],
            baidu: [690, 470]
        }, r = {
            shop: !0,
            open: !0,
            sso: !0,
            bbs: !0,
            cloud: !0,
            yuanxian: !0
        }, s = this.getAttribute("data-source"), l = this.getAttribute("data-coop"), c = o[l], d = window.screen, u = (d.width - c[0]) / 2, p = (d.height - c[1] - 60) / 2;
        if (!e) {
            e = "http://" + LETV.CONSTANT.host.WWW_LETV_COM;
            var f = i ? decodeURIComponent(i) : n ? window.parent.location.href : a;
            if (f) {
                var h = f.slice(7).split(".")[0];
                r[h] && (e = "http://" + h + "." + LETV.CONSTANT.host.LETV_COM)
            }
            e = encodeURIComponent(e)
        }
        s += s.indexOf("?") > 0 ? "&from=" + e : "?from=" + e, window.open(s, "letv_coop_login", "toolbar=0,status=0,resizable=1,width=" + c[0] + ",height=" + c[1] + ",left=" + (u > 0 ? u : 0) + ",top=" + (p > 0 ? p : 0));
        var m = this.getAttribute("data-rep");
        return m && (LETV.cookie("tj_lg_r", m, {
            domain: "." + LETV.CONSTANT.otherCookie.LETV_COM,
            path: "/"
        }), Stats.sendAction({acode: "0", ap: m})), !1
    };
    if (a.length) {
        Ker.on("ub/mymsg", function (t, e) {
            var i, n = $(e), a = n.data("con"), o = r.getUserInfo();
            n.siblings().removeClass("selected").end().addClass("selected"), i = n.parents(".j-ub-pop");
            var s = "";
            "mine" === a ? (s = "bk=topnav&link=news_my_click", nt(i), o || $(".j-ub-sysloading").hide()) : "sys" === a && (s = "bk=topnav&link=news_sys_click", nt(i, !0)), at(s)
        }), Ker.on("ub/navi/msglist", function (t, e) {
            var i, n, o;
            if (o = $(e), o.length) {
                if (!o.is("a"))return;
                "more" === o.data("msgtype") && (i = a.find(m.msg.selector), n = i.find(".j-ub-omarrow"), tt(i, n))
            }
        }), W(), Ker.on("ub/login", function (t, e, i) {
            var n = $(t).data("rep");
            l.openLetvLogin(n || "")
        }), Ker.on("ub/navi/thrid", function (t, e, i) {
            ot.call(t, i)
        }), r.getUserInfo() || z(), o.addEvent("logoutSuccess", function (t) {
            z()
        }), o.addEvent("loginSuccess", function (t) {
            $(".j-ub-msg a").attr({
                href: "http://" + LETV.CONSTANT.host.MY_LETV_COM + "/message",
                target: "_blank"
            }), $(".j-ub-records a").attr({
                href: "http://" + LETV.CONSTANT.host.MY_LETV_COM + "/playrecord",
                target: "_blank"
            }), Y()
        });
        var rt = 0, st = a.find(".j-ub-pop"), lt = a.find(".j-ub-head"), ct = a.find(".j-ub-msg"), dt = a.find(".j-ub-records"), ut = $(".gift_pop"), pt = [st, lt, ct, dt];
        $.each(pt, function (t, e) {
            e.on("mouseleave", function () {
                clearTimeout(rt);
                var t = a.find(".j-ub-pop:visible");
                t.length && (rt = setTimeout(function () {
                    $("#j-load").length || G(!0, t)
                }, 800))
            }).on("mouseenter", function () {
                clearTimeout(rt), ut.hide()
            })
        }), $(".giftpic,.gift_pop").on("mouseleave", function () {
            clearTimeout(rt), $(this).hasClass("gift_pop") ? $(".gift_pop").hide() : rt = setTimeout(function () {
                $(".gift_pop").hide()
            }, 800)
        }).on("mouseenter", function () {
            clearTimeout(rt), G(!0)
        }), a.find(".j-ub-pop").on("mouseleave", function (t) {
            clearTimeout(rt);
            var e = a.find(".j-ub-pop:visible");
            e.length && ($("#j-load").length || G(!0, e))
        }).on("mouseenter", function (t) {
            clearTimeout(rt)
        }), letv_login_cb.on("close", function () {
            var t = a.find(".j-ub-pop:visible");
            G(!0, t)
        });
        var ft = $(window);
        Ker.click(window.document.body, "click-ub-body", function (t, e, i) {
            $tartet = $(e), 0 !== $tartet.parent().length && ($tartet.parents(".j_user_bar").length || (G(!0), $(".gift_pop").hide()))
        });
        var ht = 0, mt = function () {
            ht || (ht = setTimeout(function () {
                gt()
            }, 100))
        }, gt = function () {
            clearTimeout(ht), ht = 0, G(!0)
        }, _t = function () {
            i || (h.curSender && h.curSender.resize(), i = setTimeout(function () {
                i && (clearTimeout(i), i = 0), -1 === document.body.className.indexOf("resp-1024") ? (e.is(":visible") || e.show(), $(".j-ub-tips") && $(".j-ub-tips").show()) : ($(".j-ub-tips") && "www_play" == __INFO__.pageid && $(".j-ub-tips").hide(), e.is(":visible") && e.hide())
            }, 100))
        };
        e = a.find(".j-ub-msg"), _t(), ft.scroll(mt).resize(_t)
    }
}), $(function () {
    !function (t) {
        t.fn.hoverDelay = function (e) {
            var i, n, a = {
                hoverDuring: 0, outDuring: 0, outBrother: {}, hoverEvent: function () {
                    t.noop()
                }, outEvent: function () {
                    t.noop()
                }
            }, o = t.extend(a, e || {}), r = !0, s = !1;
            return e.outDuring > 0 && e.outBrother && e.outBrother.hover(function () {
                r = !1
            }, function () {
                r = !0, setTimeout(function () {
                    s && r && o.outEvent()
                }, o.outDuring)
            }), t(this).each(function () {
                t(this).hover(function () {
                    clearTimeout(n), s = !1, e.hoverDuring <= 0 || !e.hoverDuring || (i = setTimeout(o.hoverEvent, o.hoverDuring))
                }, function () {
                    clearTimeout(i), s = !0, e.outDuring <= 0 || !e.outDuring || (n = setTimeout(function () {
                        r && s && o.outEvent()
                    }, o.outDuring))
                })
            })
        }
    }(jQuery);
    var t = {
        init: function () {
            this.initDom(), this.initEvent()
        }, initDom: function () {
            this.giftPop = $(".gift_pop"), this.giftpic1 = $(".giftpic1"), this.giftpic2 = $(".giftpic2"), this.giftBox = $(".gift_box")
        }, initEvent: function () {
            var t = this;
            $(".lh_box").show(), this.giftpic2.show(), this.giftpic1.hide(), this.giftpic2.hoverDelay({
                hoverDuring: 200,
                hoverEvent: function () {
                    "none" == t.giftPop.css("display") && (t.giftBox.empty().append('<div class="j-ub-sysloading smallLoad" style="margin:30%;text-align:left;">努力加载中...</div>'), t.giftPop.show(), t.pushTest())
                }
            })
        }, getGiftListHtml: function (t) {
            var e = this;
            if (t && t.messages) {
                var n, a = t.messages;
                n = t.messages.length;
                var o = "", r = "";
                for (i = 0; i < n; i++)o += '<a href="' + a[i].url + '" target="_blank"><img src="' + a[i].image + '"><b>' + a[i].text + "</b></a>";
                r = '<div class="gift_list">' + o + "</div>", e.giftBox.empty().append(r)
            } else e.giftBox.empty().append("暂无物品")
        }, pushTest: function () {
            var t = this, e = Stats && Stats.getLC(), i = {
                deviceType: "pc",
                touchSpotId: "4",
                deviceId: e,
                clientKey: "pc_d86f3528-df78-4846-8fc5-4e77743b73be",
                format: "jsonp"
            };
            Cookie.get("ssouid") && (i.userId = Cookie.get("ssouid")), $.ajax({
                url: "http://api.message.le.com/v1/messages",
                dataType: "jsonp",
                data: i,
                success: function (e) {
                    var i = (t.getGiftListHtml(e), e && e.reporting && e.reporting.campaign_id), n = e && e.reporting && e.reporting.touch_spot_id;
                    Stats && Stats.sendAction({ap: "ch=nav&pg=gift&bk=navGift&link=hover&campaign_id=" + i + "&touch_spot_id=" + n}), $(".gift_list a").die().live("click", function () {
                        var e = $(this).index();
                        Stats && Stats.sendAction({ap: "ch=nav&pg=giftTips&bk=navGiftTips&link=click&campaign_id=" + i + "&touch_spot_id=" + n + "&pos_id=" + e}), t.giftPop.hide()
                    })
                }
            })
        }
    };
    t.init()
}), LTK["bz/com/popManager"] = function (t, e, i) {
    var n = {}, a = function (t) {
        return n[t]
    }, o = function (t, e) {
        n[t] = e
    };
    i.exports = {getPosition: a, setPosition: o}
}, function () {
    var t = function (t) {
        var e = {};
        if (t.is_pay && (e.pay = t.is_pay), t.area && (e.area = t.area), t.cid && (e.cid = t.cid), t.isalbum && (e.isalbum = t.isalbum), t.url ? e.sourceURL = t.url : t.playurl ? e.sourceURL = t.playurl : t.vid && (e.sourceURL = "http://" + LETV.CONSTANT.host.WWW_LETV_COM + "/ptv/vplay/" + t.vid + ".html"), t._ispay && (e.sourceURL = e.sourceURL + t._ispay), t._info && (e.info = t._info), t.float_flag) {
            var i = "";
            "classical" == t.float_flag ? i = "经典" : "zhuanti" == t.float_flag && (i = "专题"), e.type = i
        }
        if (t.picH3 ? (e.imgURL = t.picH3, e.imgType = "picH3") : t.picH1 ? (e.imgURL = t.picH1, e.imgType = "picH1") : t.picHt ? (e.imgURL = t.picHt, e.imgType = "picHt") : t.pic ? (e.imgURL = t.pic, e.imgType = "pic") : t.thumb ? (e.imgURL = t.thumb, e.imgType = "thumb") : t.picurl && (e.imgURL = t.picurl, e.imgType = "picurl"), t.title ? e.title = t.title : t.name && (e.title = t.name), 11 == t.cid && t.pname && (e.title = t.pname), t.isalbum > 0 && t.pidname && t.pidname.length > 0 ? e.s_title = t.pidname : t.title ? e.s_title = t.title : t.name ? e.s_title = t.name : t.pname && (e.s_title = t.pname), 16 == t.cid && t.pidname && (e.s_title = t.pidname), t.subname ? e.subTitle = t.subname : t.subtitle ? e.subTitle = t.subtitle : t.pid_subtitle && (e.subTitle = t.pid_subtitle), 2 == t.cid && t.video_type && (e.isPositive = "180001" == t.video_type), 2 == t.cid) {
            var n = "180001" == t.video_type;
            e.s_title = (n ? t.pidtitle : t.vidtitle) || t.title, e.subTitle = (n ? t.pidsubtitle : t.vidsubtitle) || t.subtitle, e.imgURL = (n ? t.picurl_album : t.picurl_video) || t.picurl
        }
        return t.episodes = "" + t.episodes, "" != t.episodes && (e.totalEpisode = t.episodes), t.vcount = "" + t.vcount, "" != t.vcount ? (t.vcount = new String(t.vcount), e.currentEpisode = 8 == t.vcount.length ? t.vcount.substring(0, 4) + "-" + t.vcount.substring(4, 6) + "-" + t.vcount.substring(6, 8) : t.vcount) : t.current ? e.currentEpisode = t.current : t.rdate && (e.currentEpisode = t.rdate), void 0 != t.isend && (e.isFinish = t.isend), t.rdate ? e.publishDate = t.rdate : t.rtime ? e.publishDate = t.rtime : t.aorder ? e.publishDate = t.aorder : t.episodes && (e.publishDate = t.episodes), t.funName && (e.arithmetic = t.funName), t.strategy && (e.policy = t.strategy), t.starring ? e.songer = t.starring : t.star ? e.songer = t.star : e.songer = "", t.playStatus ? e.playStatus = t.playStatus : e.playStatus = "", e
    };
    window.Spirit ? "" : window.Spirit = {}, window.Spirit.DataAdapter ? "" : window.Spirit.DataAdapter = {}, Spirit.DataAdapter.videoBlock = t
}(), function () {
    var t = function (t, e) {
        if (!t)return "";
        for (var i = 0, n = 0, a = t.length; a > n; n++)if (i += t.charCodeAt(n) <= 255 ? 1 : 2, i > e)return t.charCodeAt(n) <= 255 ? t.substring(0, n) + ".." : t.substring(0, n) + "..";
        return t
    }, e = {
        _1: function (e, i) {
            var n = 20, a = 24;
            return 1 == i && (n = 15, a = 36), 1 == e.pay && (e.type = "会员"), '<dl class="dl_temp" k-name="rec-stat" data-info="' + e.info + '"><dd class="d_img"><a title="' + e.title + '" target="_blank" href="' + e.sourceURL + '"><img src="' + e.imgURL + '" alt="' + e.title + '">' + (e.type ? '<em class="tg">' + e.type + "</em>" : "") + '<b class="bg"></b></a></dd><dt class="d_tit"><a title="' + e.title + '" target="_blank" href="' + e.sourceURL + '">' + t(e.title, n) + '</a></dt><dd class="d_cnt" title="' + e.subTitle + '">' + t(e.subTitle, a) + "</dd></dl>"
        }, _2: function (e, i) {
            var n = 20, a = 24;
            return 1 == i && (n = 15, a = 36), "rec_0011" == e.area ? '<dl class="dl_temp" k-name="rec-stat" data-info="' + e.info + '"><dd class="d_img"><a title="' + e.s_title + '" target="_blank" href="' + e.sourceURL + '"><img src="' + e.imgURL + '" alt="' + e.s_title + '"><b class="bg"></b>' + (e.currentEpisode && e.isalbum > 0 && e.currentEpisode > 0 ? '<span class="number-bg"></span><span class="number-txt">' + (0 == e.isFinish ? "更新至" + e.currentEpisode + "集" : e.currentEpisode + "集全") + "</span>" : "") + '</a></dd><dt class="d_tit"><a title="' + e.s_title + '" target="_blank" href="' + e.sourceURL + '">' + t(e.s_title, n) + '</a></dt><dd class="d_cnt" title="' + (e.subTitle ? t(e.subTitle, a) : 0 == e.isFinish && e.isalbum > 0 ? "共" + e.totalEpisode + "集，已更新至" + e.currentEpisode + "集" : e.isalbum > 0 ? "共" + e.totalEpisode + "集，已完结" : "") + '">' + (e.subTitle ? e.subTitle : 0 == e.isFinish && e.isalbum > 0 ? "共" + e.totalEpisode + "集，已更新至" + e.currentEpisode + "集" : e.isalbum > 0 ? "共" + e.totalEpisode + "集，已完结" : "") + "</dd></dl>" : '<dl class="dl_temp" k-name="rec-stat" data-info="' + e.info + '"><dd class="d_img"><a title="' + e.s_title + '" target="_blank" href="' + e.sourceURL + '"><img src="' + e.imgURL + '" alt="' + e.s_title + '">' + (e.type ? '<em class="tg">' + e.type + "</em>" : "") + '<b class="bg"></b>' + (0 == e.isFinish && e.currentEpisode && e.isalbum > 0 && e.currentEpisode > 0 ? '<span class="number-bg"></span><span class="number-txt">更新至' + e.currentEpisode + "集</span>" : "") + '</a></dd><dt class="d_tit"><a title="' + e.s_title + '" target="_blank" href="' + e.sourceURL + '">' + t(e.s_title, n) + '</a></dt><dd class="d_cnt" title="' + (e.subTitle ? t(e.subTitle, a) : 0 == e.isFinish && e.isalbum > 0 ? "共" + e.totalEpisode + "集，已更新至" + e.currentEpisode + "集" : e.isalbum > 0 ? "共" + e.totalEpisode + "集，已完结" : "") + '">' + (e.subTitle ? e.subTitle : 0 == e.isFinish && e.isalbum > 0 ? "共" + e.totalEpisode + "集，已更新至" + e.currentEpisode + "集" : e.isalbum > 0 ? "共" + e.totalEpisode + "集，已完结" : "") + "</dd></dl>"
        }, _5: function (e, i) {
            var n = 20, a = 24;
            return 1 == i && (n = 15, a = 36), '<dl class="dl_temp" k-name="rec-stat" data-info="' + e.info + '"><dd class="d_img"><a title="' + e.s_title + '" target="_blank" href="' + e.sourceURL + '"><img src="' + e.imgURL + '" alt="' + e.s_title + '">' + (e.type ? '<em class="tg">' + e.type + "</em>" : "") + '<b class="bg"></b>' + (0 == e.isFinish && e.currentEpisode && e.isalbum > 0 && e.currentEpisode > 0 ? '<span class="number-bg"></span><span class="number-txt">更新至' + e.currentEpisode + "集</span>" : "") + '</a></dd><dt class="d_tit"><a title="' + e.s_title + '" target="_blank" href="' + e.sourceURL + '">' + t(e.s_title, n) + '</a></dt><dd class="d_cnt" title="' + (e.subTitle ? t(e.subTitle, a) : 0 == e.isFinish && e.isalbum > 0 ? "共" + e.totalEpisode + "集，已更新至" + e.currentEpisode + "集" : e.isalbum > 0 ? "共" + e.totalEpisode + "集，已完结" : "") + '">' + (e.subTitle ? e.subTitle : 0 == e.isFinish && e.isalbum > 0 ? "共" + e.totalEpisode + "集，已更新至" + e.currentEpisode + "集" : e.isalbum > 0 ? "共" + e.totalEpisode + "集，已完结" : "") + "</dd></dl>"
        }, _11: function (e, i) {
            var n = 20, a = 24;
            return 1 == i && (n = 15, a = 36), '<dl class="dl_temp" k-name="rec-stat" data-info="' + e.info + '"><dd class="d_img"><a title="' + e.s_title + '" target="_blank" href="' + e.sourceURL + '"><img src="' + e.imgURL + '" alt="' + e.s_title + '">' + (e.type ? '<em class="tg">' + e.type + "</em>" : "") + '<b class="bg"></b>' + (e.isalbum > 0 && e.currentEpisode ? '<span class="number-bg"></span><span class="number-txt">' + e.currentEpisode + " 期</span>" : "") + '</a></dd><dt class="d_tit"><a title="' + e.s_title + '" target="_blank" href="' + e.sourceURL + '">' + t(e.s_title, n) + '</a></dt><dd class="d_cnt" title="' + (e.subTitle ? e.subTitle : e.playStatus) + '">' + (e.subTitle ? t(e.subTitle.split(" ")[0], a) : e.playStatus) + "</dd></dl>"
        }, _11_classic: function (e, i) {
            return '<dl class="dl_temp"><dd class="d_img"><a title="' + e.title + '" target="_blank" href="' + e.sourceURL + '"><img src="' + e.imgURL + '" alt="' + e.title + '"><b class="bg"></b></a></dd><dt style="height:40px" class="d_tit"><a title="' + e.title + '" target="_blank" href="' + e.sourceURL + '">' + t(e.title, 42) + "</a></dt></dl>"
        }, _9: function (e, i) {
            var n = 20, a = 24;
            return 1 == i && (n = 26, a = 15), '<dl class="dl_temp" k-name="rec-stat" data-info="' + e.info + '"><dd class="d_img"><a title="' + e.title + '" target="_blank" href="' + e.sourceURL + '"><img src="' + e.imgURL + '" alt="' + e.title + '">' + (e.type ? '<em class="tg">' + e.type + "</em>" : "") + '<b class="bg"></b></a></dd><dt class="d_tit"><a title="' + e.title + '" target="_blank" href="' + e.sourceURL + '">' + t(e.title, n) + '</a></dt><dd class="d_cnt" title="' + e.songer + '">' + t(e.songer, a) + "</dd></dl>"
        }, _4: function (e, i) {
            var n = 42, a = 'style="height:40px"';
            return 1 == i && (n = 48, a = ""), '<dl class="dl_temp" k-name="rec-stat" data-info="' + e.info + '"><dd class="d_img"><a title="' + e.title + '" target="_blank" href="' + e.sourceURL + '"><img src="' + e.imgURL + '" alt="' + e.title + '">' + (e.type ? '<em class="tg">' + e.type + "</em>" : "") + '<b class="bg"></b></a></dd><dt class="d_tit" ' + a + '><a title="' + e.title + '" target="_blank" href="' + e.sourceURL + '">' + t(e.title, n) + "</a></dt></dl>"
        }, _other: function (e, i) {
            var n = 42, a = 'style="height:40px"';
            return 1 == i && (n = 52, a = ""), '<dl class="dl_temp" k-name="rec-stat" data-info="' + e.info + '"><dd class="d_img"><a title="' + e.title + '" target="_blank" href="' + e.sourceURL + '"><img src="' + e.imgURL + '" alt="' + e.title + '">' + (e.type ? '<em class="tg">' + e.type + "</em>" : "") + '<b class="bg"></b></a></dd><dt class="d_tit" ' + a + '><a title="' + e.title + '" target="_blank" href="' + e.sourceURL + '">' + t(e.title, n) + "</a></dt></dl>"
        }
    }, i = function (t, i, n) {
        return i && e["_" + t.cid + "_" + i] ? e["_" + t.cid + "_" + i](t, n, i) : e["_" + t.cid] ? "专题" == t.type ? e._other(t, n, i) : e["_" + t.cid](t, n, i) : e._other(t, n, i)
    };
    window.Spirit ? "" : window.Spirit = {}, window.Spirit.htmlRender ? "" : window.Spirit.htmlRender = {}, Spirit.htmlRender.videoBlock = i
}(), LTK["air/util/tpl"] = function (t, e, i) {
    var n = function (t, e) {
        this.tpl = t, this.mix = e
    };
    n.prototype = {
        render: function (t, e) {
            if (!t || !this.tpl)return "";
            e = e || this.mix;
            var i, n, a, o = "function" == typeof e, r = this.tpl, s = "";
            if ("string" == typeof r) {
                var l, c = r.replace(/[\r\n\t]/g, "").replace(/\'/g, "\\'").split("{"), d = "return '" + c[0] + "'";
                for (i = 1, n = c.length; n > i; i++)l = c[i].split("}"), d = d + (l[0].indexOf("$item.") < 0 ? "+$item." + l[0] : "+(" + (l[0].indexOf("[[") < 0 ? l[0] : l[0].replace(/\[\[/g, "'").replace(/\]\]/g, "'")) + ")") + "+'" + l[1] + "'";
                r = this.tpl = new Function("$item", d)
            }
            if (t instanceof Array)for (i = 0, n = t.length; n > i; i++)a = t[i], o && e(a, i), s += r(a); else o && e(t, 0), s = r(t);
            return s
        }
    };
    var a = {}, o = {};
    n.reg = function (t, e, i) {
        a[t] || (a[t] = e, o[t] = i)
    }, n.unreg = function (t) {
        delete a[t], delete o[t]
    }, n.render = function (t, e, i) {
        if (!e || !a[t])return "";
        i = i || o[t];
        var n, r, s, l = "function" == typeof i, c = a[t], d = "";
        if ("string" == typeof c) {
            var u, p = c.replace(/[\r\n\t]/g, "").replace(/\'/g, "\\'").split("{"), f = "return '" + p[0] + "'";
            for (n = 1, r = p.length; r > n; n++)u = p[n].split("}"), f = f + (u[0].indexOf("$item.") < 0 ? "+$item." + u[0] : "+(" + (u[0].indexOf("[[") < 0 ? u[0] : u[0].replace(/\[\[/g, "'").replace(/\]\]/g, "'")) + ")") + "+'" + u[1] + "'";
            c = a[t] = new Function("$item", f)
        }
        if (e instanceof Array)for (n = 0, r = e.length; r > n; n++)s = e[n], l && i(s, n), d += c(s); else l && i(e, 0), d = c(e);
        return d
    }, n.simple = function (t, e) {
        return e || (e = {}), t.replace(/{(\w+)}/g, function (t, i) {
            return e[i] || (0 === e[i] ? "0" : "")
        })
    }, i.exports = n
}, LTK["bz/com/rightBottomPop"] = function (t, e, i) {
    var n = t("air/event/Broadcast"), a = !1;
    n.on("miYueZhuan", function () {
        a = !0
    });
    var o = {
        inited: !1, ignoreHost: !1, initMzs: function () {
            if (!this.inited) {
                var e = t("bz/com/popManager");
                if (!e.getPosition("rb")) {
                    if (!this.ignoreHost) {
                        var i = window.location.hostname, n = LETV.CONSTANT.host.WWW_LETV_COM + "," + LETV.CONSTANT.host.YUANXIAN_LETV_COM + "," + LETV.CONSTANT.host.MOVIE_LETV_COM + "," + LETV.CONSTANT.host.TV_LETV_COM + "," + LETV.CONSTANT.host.ZONGYI_LETV_COM;
                        if (-1 == n.indexOf(i) || "i.le.com" === location.hostname)return
                    }
                    if (!$("#moviebottomad:visible").length) {
                        this.inited = !0;
                        var o = t("air/util/tpl"), r = '<div class="vip_popBox" id="rightBottomPop" k-name="stat-area" style="position:fixed;right:2px;bottom:0px;z-index:999999;"><h3 class="popBox_letit"></h3><a class="popBox_close" href="javascript:;"></a><div class="popBox_content"><div class="popBox_img popBox_img3"><a href="{imglink}" target="_blank"><img src="{img}"><b class="bg">{imgtitle}</b></a></div><ul>{html_li}</ul></div></div>', s = new o(r), l = '<li><a href="{url}" target="_blank">{title}</a></li>', c = new o(l);
                        $.getJSON("http://" + window.location.hostname + "/cmsdata/block/236.json", function (e) {
                            var i = e.blockContent || [], n = i.slice(1, 7), o = c.render(n), r = s.render({
                                img: i[0].pic1,
                                imglink: i[0].url,
                                imgtitle: i[0].title,
                                html_li: o
                            }), l = !1, d = function () {
                                if ($(window).scrollTop() > 500) {
                                    if (a)return;
                                    l || ($("body").append(r), $(".popBox_img a").attr({
                                        "k-name": "send-click-stat",
                                        "data-click-stat": "ch=www&pg=index&bk=popup&link=title1"
                                    }), $(".popBox_content ul a").each(function (t, e) {
                                        $(this).attr({
                                            "k-name": "send-click-stat",
                                            "data-click-stat": "ch=www&pg=index&bk=popup&link=title" + (t + 2)
                                        })
                                    }), Cookie.set("daily_popup", "1", {exp: 20}), $("#rightBottomPop .popBox_close").click(function () {
                                        $("#rightBottomPop").remove()
                                    }), Stats.sendAction({
                                        acode: "41",
                                        ap: "popup=01"
                                    })), $("#rightBottomPop").show(), l = !0
                                } else $("#rightBottomPop").hide()
                            };
                            if (IE6)var u = function () {
                                d();
                                var t = $(window).scrollTop() + $(window).height() - 260;
                                t = Math.min(t, document.body.offsetHeight), $("#rightBottomPop").css({
                                    position: "absolute",
                                    top: t + "px",
                                    right: "50px"
                                })
                            }; else var u = function () {
                                d()
                            };
                            var p = t("bz/com/popManager");
                            p.getPosition("rb") || (p.setPosition("rb", "cms"), $(window).bind("scroll.app", u), $(window).bind("resize", u), u())
                        })
                    }
                }
            }
        }
    }, r = function (t) {
        var e = (Cookie.get("ssouid") || "").length > 0;
        (t || !e) && (/\/izt\//.test(location.href) || Cookie.get("daily_popup") || o.initMzs())
    }, s = function (t) {
        o.ignoreHost = t
    };
    i.exports = {init: r, setIgnoreHost: s}
}, LTK["bz/com/rightNaviAppCode"] = function (t, e, i) {
    var n = LETV.App || {}, a = LETV.using.call(window, "__INFO__");
    cid = a.video ? a.video.cid : null;
    var o = {
        init: function () {
            o.display()
        }, getData: function () {
            var t = {}, e = window.location.href;
            return t.mobilePic = "http://i1.letvimg.com/img/201310/14/kehuduan1.jpg", t.mobileUrl = "http://" + LETV.CONSTANT.host.MOBILE_LETV_COM + "/?p=1&amp;ref=2030", (e.indexOf(LETV.CONSTANT.host.SPORTS_LETV_COM) > -1 || 4 == cid) && (t.mobilePic = "http://i3.letvimg.com/img/201405/06/erweima.jpg", t.mobileUrl = "http://" + LETV.CONSTANT.host.SPORTS_LETV_COM + "/zt/kanqiuapp/index.shtml"), t
        }, display: function () {
            var t = $(window);
            $(".popUp-fixed-new").length < 1 && $("body").append("<ul class='popUp-fixed-new' id='towCode' style='right:0px; z-index:10000'></ul>");
            var e = $("#towCode"), i = o.getData(), n = new Tpl('<li k-name="send-click-stat" data-click-stat="bk=sidebar&link=sidebar_cjsj" class="popUp-fixed-li popUp-fixed-ad"><a target="_blank" href="http://www.lemall.com/huodong/xpsf1103.html?cps_id=lec_sj_pc_ycdh_151028_le1s"></a><b></b></li><li k-name="send-click-stat" data-click-stat="bk=sidebar&link=sidebar_top" class="popUp-fixed-li popUp-fixed-toup j-top" ><s></s><b>回到<br>顶部</b></li><li k-name="send-click-stat" data-click-stat="bk=sidebar&link=sidebar_vipfree" class="popUp-fixed-li popUp-fixed-app j-app" ><b>下载<br>app</b><i class="popUp_fixed_hot"><div class="ico_larr"><span class="arrow arrow_b"></span><span class="arrow arrow_a"></span></div><img width=94 height=94 src="http://i0.letvimg.com/lc02_img/201507/20/11/11/erweima.png"></i></li><li k-name="send-click-stat" data-click-stat="bk=sidebar&link=sidebar_feedback" class="popUp-fixed-li j-back" ><a href="http://' + LETV.CONSTANT.host.BBS_LETV_COM + '/forum-907-1.html" target="_blank"><b>意见<br>反馈</b></a></li>');
            e.html(n.render(i)), Stats.sendAction({acode: "41", ap: "slidebar=01"});
            var a = 0;
            t.scrollTop() + t.height() / 2 - 76 + a;
            o.scrollBar(e, a - 78, 1), e.find(".j-top").on("click", function () {
                $(document.documentElement).animate({scrollTop: 0}), $(document.body).animate({scrollTop: 0})
            }), e.find(".popUp-fixed-li").hover(function () {
                $(this).addClass("hover")
            }, function () {
                $(this).removeClass("hover")
            }), e.find(".popUp-fixed-closeBtn").on("click", function () {
                $(this).parent().hide()
            }), e.find(".popUp-fixed-li").click(function () {
                $(this).hasClass("j-app") ? "none" == e.find(".popUp-fixed-appCon").css("display") ? (e.find(".popUp-fixed-liCon").hide(), e.find(".popUp-fixed-appCon").show()) : e.find(".popUp-fixed-appCon").hide() : $(this).hasClass("j-down") ? "none" == e.find(".popUp-fixed-downCon").css("display") ? (e.find(".popUp-fixed-liCon").hide(), e.find(".popUp-fixed-downCon").show()) : e.find(".popUp-fixed-downCon").hide() : $(this).hasClass("j-back") ? e.find(".popUp-fixed-liCon").hide() : $(this).hasClass("j-report") ? e.find(".popUp-fixed-liCon").hide() : $(this).hasClass("j-superMobile") && e.find(".popUp-fixed-liCon").hide()
            })
        }, scrollBar: function (t, e, i) {
            var n = $(window), a = 0, o = 0, r = !1, s = function () {
                if (1 == i)return a = n.scrollTop() + n.height() / 2 - 76 + e;
                var o = (n.height() - e) / 2 - t.height();
                return a = o >= 0 ? n.scrollTop() + n.height() / 2 - t.height() / 2 + e : n.scrollTop() + n.height() - t.height(), r || (r = !0, Stats.sendAction({
                    acode: "41",
                    ap: "popup=01"
                })), a
            }, l = function () {
                o = s(), -1 === o ? t.hide() : t.css({position: "absolute", top: o})
            };
            IE6 ? (t.css({
                position: "absolute",
                top: s()
            }), l(), n.on("scroll.app", l).bind("resize.app", l)) : t.css({position: "fixed", top: 155}), t.show()
        }
    };
    n.initQrcode = o.init;
    var r = function (e) {
        var i = t("bz/com/rightBottomPop");
        i.init(e)
    }, s = function () {
        $(function () {
            var t = window.screen.width;
            (t > 1024 && 1440 > t || t >= 1480) && LocalStore.ready(function () {
                n.initQrcode()
            })
        })
    };
    i.exports = {addBTPop: r, fire: s}
}, function () {
    var t, e, i, n, a, o, r, s, l = Spirit.Event, c = Spirit.UserValidate, d = LETV.using("UI"), u = !!window.__INFO__ && "zh-hk" === __INFO__.lang, p = {
        loginArea: '<span class="login-txt"><em class="e-1"><a id="js_user_login_link" title="登录" href="javascript:void(0);">登录</a></em><em class="e-2"><a href="http://' + LETV.CONSTANT.host.SSO_LETV_COM + '/oauth/sina" title="新浪帐号登录" target="user_thrid_login"></a></em><em class="e-3"><a href="http://' + LETV.CONSTANT.host.SSO_LETV_COM + '/oauth/qq" title="QQ帐号登录" target="user_thrid_login"></a></em><em class="e-4"><a title="注册" target="_blank" href="http://' + LETV.CONSTANT.host.SSO_LETV_COM + '/user/emailreg"><b>注册</b><i style="display:none;" class="i-doc"></i></a></em></span>',
        menu: '<div class="i-up"></div><ul class="login-list"><li><i class="i-s"></i><b><a href="http://' + LETV.CONSTANT.host.SSO_LETV_COM + '/oauth/sina" target="_blank">新浪微博登录</a></b></li><li><i class="i-q"></i><b><a href="http://' + LETV.CONSTANT.host.SSO_LETV_COM + '/oauth/qq" target="_blank">QQ登录</a></b></li><li><i class="i-r"></i><b><a href="http://' + LETV.CONSTANT.host.SSO_LETV_COM + '/oauth/renren" target="_blank">人人登录</a></b></li><li><i class="i-l"></i><b><a href="http://' + LETV.CONSTANT.host.SSO_LETV_COM + '" target="_blank">乐视网登录</a></b></li></ul>'
    }, f = {
        loginArea: '<div class="user-pic"><a id="user_headIcon" title="{nickname}" href="javascript:void(0);"><img src="{headicon}" /><i class="i-doc"></i></a></div>',
        menu: '<div class="i-up"></div><ul class="img-list"><li><a class="beta" target="_blank" href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '">我的主页</a></li><li><a target="_blank" href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '/setting/index">帐号设置</a></li><li><a target="_blank" href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '/video/list">我的上传</a></li><li><a target="_blank" href="http://' + LETV.CONSTANT.host.YUANXIAN_LETV_COM + '">乐视会员</a></li><li><a target="_blank" href="http://' + LETV.CONSTANT.host.CLOUD_LETV_COM + '/?src=letv_userdrop">我的乐视云</a></li><li><a id="js_user_logout_link" data-action="logout" href="javascript:;">安全退出</a></li></ul>',
        loginAreaV2: '<div class="user-pic"><a id="user_headIcon" title="{nickname}" href="javascript:;"><img src="{headicon}"><u class="i-bg"></u><i class="i-doc"></i></a></div>',
        userCard: '<div class="i-up"></div><div class="new_userDrop" id="top_user_drop"><div class="uInfro"><div class="uInfro_box"><a class="exit" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=logout&link=click" id="js_user_logout_link" data-action="logout" href="javascript:;">退出</a><a class="name" k-name="send-click-stat" data-click-stat="bk=topnav&link=nickname" href="http://' + LETV.CONSTANT.host.YUANXIAN_LETV_COM + '/?ref=cardV" target="_blank"></a><span class="vip_level"><a href="http://' + LETV.CONSTANT.host.YUANXIAN_LETV_COM + '/?ref=cardV" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=FV&link=click" target="_blank"><i class="myVip"></i></a><a href="http://vip.lesports.com/pay/" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=SV&link=click" target="_blank"><i class="sportVip"></i></a><a href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '/?ref=gradeicon" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=level&link=click" target="_blank"><i class="myLevel"><u class="level_num"></u></i></a></span></div><p class="note j-note"><a k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=textlink&link=click" target="_blank"></a></p></div><div class="main-list"><ul><li><a href="http://chuang.le.com/ts/video" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=userCenter&link=click" target="_blank"><i class="i_bg i_bg01"></i><span class="p_title">我的主页</span></a></li><li><a href="http://i.le.com/setting/index/" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=setting&link=click" target="_blank"><i class="i_bg i_bg02"></i><span class="p_title">帐号设置</span></a></li><li><a href="http://bbs.le.com/" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=community&link=click" target="_blank"><i class="i_bg i_bg03"></i><span class="p_title">我的社区</span></a></li><li><a href="http://i.le.com/account?ref=xdlmb" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=myVip&link=click" target="_blank"><i class="i_bg i_bg04"></i><span class="p_title">影视会员</span></a></li></ul></div><div class="singin"><span class="adver_box"><a class="adver_img_link" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=piclink&link=click" target="_blank"><img class="adver_img" src="http://i3.letvimg.com/lc04_img/201606/06/11/35/color-bg.jpg"></a></span><a href="http://bbs.letv.com/?!FROM=WWWLECOM-SIGN" class="singbtn nosing" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=button&link=click" target="_blank"></a></div></div>',
        menuV2: '<div class="i-up"></div><div class="new_userDrop" id="top_user_drop"><div class="uInfro"><div class="uInfro_box"><a class="exit" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=logout&link=click" id="js_user_logout_link" data-action="logout" href="javascript:;">退出</a><a class="name" title="{nickname}" k-name="send-click-stat" data-click-stat="bk=topnav&link=nickname" href="http://' + LETV.CONSTANT.host.YUANXIAN_LETV_COM + '/?ref=cardV" target="_blank">{shortnickname}</a><span class="vip_level"><a href="http://' + LETV.CONSTANT.host.YUANXIAN_LETV_COM + '/?ref=cardV" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=FV&link=click" target="_blank"><i class="myVip {iconclass}" title ="{levelname}"></i></a><a href="http://vip.lesports.com/pay/" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=SV&link=click" target="_blank"><i class="sportVip {sportClass}" title="{sportTitle}"></i></a><a href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '/?ref=gradeicon" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=level&link=click" target="_blank"><i class="myLevel" title="{levelTitle}"><u class="level_num">{grade_level}</u></i></a></span></div><p class="note j-note" style="{showAd}"><a href="{textAdvertUrl}" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=textlink&link=click" target="_blank" title="{textAdvertTitle}">{textAdvertTitle}</a></p></div><div class="main-list"><ul><li><a href="http://chuang.le.com/ts/video" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=userCenter&link=click" target="_blank"><i class="i_bg i_bg01"></i><span class="p_title">我的主页</span></a></li><li><a href="http://i.le.com/setting/index/" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=setting&link=click" target="_blank"><i class="i_bg i_bg02"></i><span class="p_title">帐号设置</span></a></li><li><a href="http://bbs.le.com/" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=community&link=click" target="_blank"><i class="i_bg i_bg03"></i><span class="p_title">我的社区</span></a></li><li><a href="http://i.le.com/account?ref=xdlmb" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=myVip&link=click" target="_blank"><i class="i_bg i_bg04"></i><span class="p_title">影视会员</span></a></li></ul></div><div class="singin"><span class="adver_box"><a class="adver_img_link" href="{imgAdvertUrl}" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=piclink&link=click" target="_blank" title="{imgAdvertTitle}"><img class="adver_img" src="{imgAdvertPic}"></a></span><a href="http://bbs.letv.com/?!FROM=WWWLECOM-SIGN" class="singbtn nosing" k-name="send-click-stat" data-click-stat="ch=topNav&pg=userTips&bk=button&link=click" target="_blank">{signText}</a></div></div>'
    };
    u && ($(function () {
        $(".H-Logo").css("width", "110px").attr("title", "樂視商城").html('<a href="http://' + LETV.CONSTANT.host.HK_SHOP_LETV_COM + '" title="樂視商城"><img height="24" src="http://img1.' + LETV.CONSTANT.host.HDLETV_COM + '/file/20140702/default/40680187768249450" /></a>'), $(".Li01 a").attr("href", "http://" + LETV.CONSTANT.host.HK_SHOP_LETV_COM).attr("title", "樂視商城").html("<b>首頁</b>"), $(".top-nav .con").html(""), $(".top_member").remove(), $(".top-notes").html("")
    }), f.menuV2 = '<div class="i-up"></div><dl class="w100" style="height:180px;"><dt><a k-name="send-stat" k-data="to_homepage_from_headicon" title="{nickname}" href="javascript:;"><img src="{headicon_200}"><u class="i-bg"></u></a></dt><dd><b><a k-name="send-stat" k-data="to_homepage_from_nikename" title="{nickname}" href="javascript:;">{shortnickname} </a></b></dd></dl><ul class="img-list"><li><a k-name="send-stat" k-data="to_set" target="_blank" href="http://' + LETV.CONSTANT.host.MY_LETV_COM + '/hksetting/">帳號設置</a></li><li><a k-name="send-stat" k-data="to_logout" id="js_user_logout_link" data-action="logout" href="javascript:;">安全退出</a></li></ul><div class="i-bt"></div>');
    var h = {
        openLetvLogin: function (t, e) {
            LEPass.openLoginDialog()
        }, cssRevise: function () {
            n || (n = $(".H-play"), a = $(".H-play .t-v"), o = $(".H-play .t-i"), r = $(".H-play .t-p")), "block" == a.css("display") || "block" == o.css("display") || "block" == r.css("display") ? n.show() : (n.hide(), n.find("iframe").hide())
        }
    };
    letv_login_cb.on("close", function () {
        setTimeout(function () {
            $.browser.msie ? h.loginDialog.hideIframe() : h.loginDialog.dispose()
        }, 1)
    });
    var m = function () {
        var t;
        if (window.__PLAYER__)t = [__PLAYER__]; else if (t = $("object,embed") && $("object,embed").get(), window.parent !== window.self)try {
            t = t.concat(parent.$("object,embed").get())
        } catch (e) {
        }
        if (t)for (var i = t.length; i--;)if (t[i] && t[i].setVip)try {
            t[i].setVip()
        } catch (e) {
        }
    }, g = function () {
        window.recPlayer ? LivePlayer.vodPlayer(recPlayer.vid, recPlayer.next_vid, !0) : s && 0 === s.indexOf("http://") && (window.location.href = s.split("#")[0], s = "-")
    };
    LETV.using("User.Logon").playerDlg = function (t) {
        t && 0 === t.indexOf("http://") && (s || l.addEvent("loginSuccess", g), s = t), h.openLetvLogin("player")
    }, l.addEvent("logoutSuccess", function (i) {
        $(".pop-renew").length && $(".pop-renew").hide(), y(), e && e.hide(), t && t.hide(), $(".H-play .t-i").html("").css("display", "none"), $(".user-login").html(p.loginArea).css("display", ""), setTimeout(function () {
            $("#userMenuMask").hide()
        }, 10);
        location.href;
        LETV.CONSTANT.host.SSO_LETV_COM === location.host ? $("#js_user_login_link").attr("href", "http://" + LETV.CONSTANT.host.SSO_LETV_COM) : $("#js_user_login_link").on("click", function () {
            var t = $(this).parents(".top-nav").length ? "nav_small" : "nav_big";
            h.openLetvLogin(t)
        }), $(".js_mymessage").css("display", "none"), m()
    });
    var _ = function () {
        "https:" !== document.location.protocol && $.getScript("http://" + LETV.CONSTANT.host.WWW_LETV_COM + "/zt/cmsapi/vippromotion.json", function () {
            var t = "";
            if (window.RemenberAdLink && window.RemenberAdLink.length > 0) {
                for (var e = 0, i = window.RemenberAdLink.length < 2 ? window.RemenberAdLink.length : 2; i > e; e++)t += '<li><a  k-name="send-stat" k-data="to_service_from_textLinkAd_' + [e + 1] + '" href="' + window.RemenberAdLink[e].title_url + (window.RemenberAdLink[e].title_url.indexOf("?") > -1 ? "&" : "?") + 'ref=ym0303" target="_blank">' + window.RemenberAdLink[e].title + "</a></li>";
                $(".ul-vip").after($('<ul class="ul-spread">' + t + "</ul>"))
            }
        })
    }, v = function () {
        i || (i = new LETV.UI.Box({
            content: '<div class="zw" style=" display:block;"><div class="intro-top wintro"><h2 class="svip wh">全屏影视会员</h2><div class="nvip-con wnvip-con"><dl class="vip-web"><dt></dt><dd>网站及客户端</dd> </dl><dl class="vip-mobile"><dt></dt><dd>手机客户端</dd></dl><dl class="vip-pad"><dt></dt><dd>PAD客户端</dd></dl><dl class="vip-add"><dt></dt></dl><dl class="vip-box"><dt></dt><dd>云视频超清机</dd></dl><dl class="vip-tv vip-bor"><dt></dt><dd>超级电视</dd></dl></div><div class="wvip-txt"> <b class="txt1">会员全部特权</b> <b class="txt2">会员专享频道+高清观影特权</b> </div></div><div class="vss">移动影视会员套餐剩余：' + c.getUserInfo().surplus + '天</div><div class="vsstxt">补齐差额可升级为<b>全屏影视会员</b></div><a target="_blank" href="http://' + LETV.CONSTANT.host.YUANXIAN_LETV_COM + "/letv/payMent.ldo?type=upgrade&username=" + c.getUserInfo().username + '" class="sjbtn">确认升级</a></div>',
            boxClass: "ui_window limitVip-alertBox",
            height: 355,
            width: 600,
            mask: .2,
            drag: 1,
            zIndex: 1e4,
            alignX: "center",
            valignY: "middle",
            onClose: function (t) {
            }
        }), i.init()), $("#createAccount").on("click", function (t) {
            t.preventDefault(), l.addOneEvent("logoutSuccess", function (e) {
                location.href = t.target.href
            }), Logon.logout()
        }), i.show()
    }, y = function () {
        var t = c.getUserInfo(), e = {link: "", lastday: "", upgrade: "", iconclass: "", levelname: ""};
        t && 0 == t.userlevel ? ($(".H-user").parent().addClass("uvp"), void 0 !== t.lasttime && t.lasttime.length > 0 && void 0 !== t.surplus && 0 === t.surplus ? e.lastday = '<li class="Li01"><p class="p1"><a k-name="send-stat" k-data="to_service_from_guideAd" href="http://' + LETV.CONSTANT.host.ZHIFU_LETV_COM + '/tobuy/renewregular?ref=ym0301" target="_blank">续费会员</a></p><span class="s-2">(<b>会员已过期</b>)</span></li>' : e.lastday = '<li class="Li01"><p class="p1"><a k-name="send-stat" k-data="to_service_from_guideAd" href="http://' + LETV.CONSTANT.host.ZHIFU_LETV_COM + '/tobuy/regular?ref=ym0301">开通会员</a></p></li>', e.iconclass = "i-u", e.levelname = "会员") : t && 1 == t.userlevel ? ($(".H-user").parent().addClass("uvp"), $(".H-user .s-1").html('<a href="javascript:;" title="续费会员"><b>续费会员</b><i class="i-doc"></i></a>'), e.link = '<li class="Li01"><p class="p1"><a k-name="send-stat" k-data="to_service_from_guideAd" href="http://' + LETV.CONSTANT.host.ZHIFU_LETV_COM + '/tobuy/renewregular?ref=ym0301" target="_blank">续费会员</a></p>', t.lasttime && void 0 != t.surplus && t.surplus < 5 ? 0 !== t.surplus ? e.lastday = '<span class="s-1">(<b>还有<i>' + t.surplus + "</i>天到期</b>)</span></li>" : e.lastday = '<span class="s-2"><b>今天即将到期</b></span></li>' : t.lasttime && void 0 !== t.surplus && 0 == t.surplus && (e.lastday = '<span class="s-2">(<b>会员已过期</b>)</span></li>'), e.upgrade = '<li class="Li02"><a id="advLink" k-name="send-stat" k-data="to_service_from_guideAd" href="http://' + LETV.CONSTANT.host.ZHIFU_LETV_COM + '/tobuy/upgrade?ref=ym0301" target="_blank">升级全屏影视会员</a></li>', e.iconclass = "i-v", e.levelname = "会员") : t && 2 == t.userlevel ? ($(".H-user").parent().addClass("svp"), $(".H-user .s-2").html('<a href="javascript:;" title="续费会员"><b>续费会员</b><i class="i-doc"></i></a>'), e.link = '<li class="Li01"><p class="p1"><a k-name="send-stat" k-data="to_service_from_guideAd" href="http://' + LETV.CONSTANT.host.ZHIFU_LETV_COM + '/tobuy/renewpro?ref=ym0301" target="_blank">续费会员</a></p>', t.lasttime && void 0 != t.surplus && t.surplus < 5 ? 0 != t.surplus ? e.lastday = '<span class="s-1">(<b>还有<i>' + t.surplus + "</i>天到期</b>)</span></li>" : e.lastday = '<span class="s-2"><b>今天即将到期</b></span></li>' : t.lasttime && void 0 != t.surplus && 0 == t.surplus && (e.lastday = '<span class="s-2">(<b>会员已过期</b>)</span></li>'), e.iconclass = "i-s", e.levelname = "会员") : ($(".H-user .s-1").html('<a href="javascript:;" title="开通会员"><b>开通会员</b><i class="i-doc"></i></a>'), e.link = '<li class="Li01"><p class="p1"><a k-name="send-stat" k-data="to_service_from_guideAd"  href="http://' + LETV.CONSTANT.host.ZHIFU_LETV_COM + '/tobuy/regular?ref=ym0301" target="_blank">开通会员</a></p>', e.lastday = "</li>", $(".H-user").parent().removeClass("svp").removeClass("uvp")), $("#advLink").on("click", function (t) {
            t.preventDefault(), v()
        }), _()
    }, b = !1, T = require("air/event/Broadcast"), w = !1;
    T.on("miYueZhuan", function () {
        w = !0
    });
    var E = function () {
        if (!b) {
            b = !0;
            var t = require("bz/com/popManager");
            if (!t.getPosition("rb")) {
                var e = function () {
                    var t = require("bz/com/rightNaviAppCode");
                    t.addBTPop(!0)
                }, i = c.getUserInfo() || {}, n = !__INFO__.clientStopPop && window.self == window.top && __INFO__ && "loginpage" != __INFO__.pageid && __INFO__ && "www_play" != __INFO__.pageid;
                if (n) {
                    if (!($("#rightBottomPop").length || $("#moviebottomad:visible").length || w || /\/izt\//.test(location.href))) {
                        if ("https:" == window.location.protocol)return;
                        $.ajax({
                            url: "http://" + LETV.CONSTANT.host.YUANXIAN_LETV_COM + "/letv/recommendPop.ldo",
                            dataType: "jsonp",
                            data: {
                                terminal: "141001",
                                type: "getPopInfo",
                                userId: i.ssouid,
                                cid: __INFO__ && __INFO__.pageInfo && __INFO__.pageInfo.cid ? __INFO__.pageInfo.cid : ""
                            },
                            success: function (t) {
                                if (!t || "0" != t.code || !t.values || !t.values.shouldPop)return void e();
                                if (t.values.isNewApi) {
                                    var n = t.values || {};
                                    n.showInfo = n.showInfo || [], n.showInfo.length > 2 && (n.showInfo = n.showInfo.slice(0, 2));
                                    var a = "", o = "", r = parseInt(n.price), s = "，现在续费立减" + r + "元", l = "", c = "", d = n.vipLevel, u = n.extendInfo.more.desc, p = n.extendInfo.more.link, f = n.days;
                                    if ("0" == n.type) {
                                        a = "会员提醒";
                                        var h = n.isExpired || 1 == d ? "regular" : "pro";
                                        c = "http://" + LETV.CONSTANT.host.ZHIFU_LETV_COM + "/tobuy/" + h + "?ref=xfneirong", l = "立即续费", o = "0" == d ? "现在开通会员立减" + r + "元" : n.isExpired ? f > 9 ? "现在续费立减" + r + "元" : f ? "会员已过期" + f + "天" + s : "会员今天已过期" + s : f > 9 ? "现在续费立减" + r + "元" : f ? "会员" + f + "天后到期" + s : "会员今天将到期" + s, o.length > 16 ? o = o.substr(0, 15) + "..." : ""
                                    } else {
                                        if ("1" != n.type)return void e();
                                        a = n.extendInfo.footerInfo.title, c = n.extendInfo.footerInfo.button[0].link, l = n.extendInfo.footerInfo.button[0].name;
                                        for (var m = 0, g = n.extendInfo.footerInfo.links, _ = g.length; _ > m; m++)o += '<a href="' + g[m].link + '">' + g[m].desc + "&nbsp</a>"
                                    }
                                    var v = '<div class="vip_popBox" id="rightBottomPop" style="position:fixed;right:50px;bottom:0px;z-index:999999;"><h3 class="popBox_tit"></h3><a class="popBox_close" href="javascript:;"></a><div class="popBox_content"><p class="vip_name">hi，{nick}</p><p class="popBox_info"><a href="{moreLink}">更多&gt;</a>{moreInfo}</p><div class="popBox_img {popBox_img2}">{imgItems}</div><div class="popBox_line"><h4 class="vip_tit2">{vipTxt}</h4></div><p class="vip_info"><a class="vipBox_btn" href="{btnLink}" target="_blank">{btnTxt}</a>{vipTitle}</p></div></div>', y = '<a href="{link}" target="_blank"><img src="{pic}"><b class="bg">{title}</b></a>', b = require("air/util/tpl"), T = new b(y), w = T.render(n.showInfo), E = new b(v), k = E.render({
                                        popBox_img2: n.showInfo.length > 1 ? "popBox_img2" : "",
                                        nick: i.nickname,
                                        imgItems: w,
                                        btnTxt: l,
                                        btnLink: c,
                                        vipTxt: a,
                                        vipTitle: o,
                                        moreInfo: u,
                                        moreLink: p
                                    }), L = !1, C = function () {
                                        $(window).scrollTop() > 500 ? (L || ($("body").append(k), $("#rightBottomPop .popBox_close").click(function () {
                                            $("#rightBottomPop").remove()
                                        })), $("#rightBottomPop").show(), L = !0) : $("#rightBottomPop").hide()
                                    };
                                    if (IE6)var x = function () {
                                        C();
                                        var t = $(window).scrollTop() + $(window).height() - 260;
                                        t = Math.min(t, document.body.offsetHeight), $("#rightBottomPop").css({
                                            position: "absolute",
                                            top: t + "px",
                                            right: "50px"
                                        })
                                    }; else var x = function () {
                                        C()
                                    };
                                    var S = require("bz/com/popManager");
                                    S.getPosition("rb") || (S.setPosition("rb", "vip"), $(window).bind("scroll.app", x), $(window).bind("resize", x), x())
                                }
                            }
                        })
                    }
                } else e()
            }
        }
    }, k = null;
    $("#js_user_logout_link").live("click", function (t) {
        t.preventDefault(), c.logout()
    }), $(".j-ub-head").live("mouseenter", function () {
        Stats && Stats.sendAction({ap: "ch=topNav&pg=userPic&bk=login&link=hover"}), k = setTimeout(function () {
            L()
        }, 200)
    }).live("mouseleave", function () {
        clearTimeout(k)
    });
    var L = function () {
        $(".H-play .t-i").html(f.userCard), C();
        var t = c.getUserInfo() || {}, e = t.userlevel, i = "";
        $(".H-play .t-i").removeClass("grey_vip");
        var n = $(".vip_level .myVip");
        0 == e ? (n.addClass("i-u").attr("title", "影视会员"), $("#top_user_drop .j-note").show(), $(".H-play .t-i").addClass("grey_vip")) : 1 == e ? (n.addClass("i-v").attr("title", "乐次元影视会员"), i = "享受1.1倍加速中，") : 2 == e && (n.addClass("i-s").attr("title", "乐视超级影视会员"), i = "享受1.3倍加速中，");
        var a = t.nickname, o = require("air/util/clip"), r = o(t.nickname, 10);
        $(".uInfro_box .name").attr("title", a), $(".uInfro_box .name").text(r);
        var s = "http://" + LETV.CONSTANT.host.GRADE_MY_LETV_COM + "/Api/getActiveDayCrumb?callback=?", l = "http://i.le.com/api/user/memberinfo?callback=?", d = "http://" + LETV.CONSTANT.host.BBS_LETV_COM + "/api/reveal/sign.php?callback=?";
        $.getJSON(s, {uid: Cookie.get("ssouid")}, function (t) {
            var e = t && t.data && t.data.gradeinfo || {}, n = Math.round(100 * e.next_growday) / 100 || 0, a = e.grade || 0;
            $(".myLevel .level_num").text(a), $("#top_user_drop .myLevel").attr("title", "我的等级" + a + "，" + i + "距离下次升级还差" + n + "天")
        }), $.getJSON(l, function (t) {
            t && 200 == t.code && t.data && 1 == t.data.isSportVip && $(".vip_level .sportVip").addClass("sportVipShow").attr("title", "乐视超级体育会员")
        }), $.getJSON(d, {from: "le"}, function (t) {
            var e = t && t.data;
            if (e) {
                var i = e.letitlead[0], n = i && i.url, a = i && i.title, o = e.lepicad[0], r = o && o.url, s = o && o.pic, l = o && o.title;
                $("#top_user_drop .j-note a").attr({
                    href: n,
                    title: a
                }).text(a), $(".singin .adver_img_link").attr({
                    href: r,
                    title: l
                }), $(".singin .adver_img").attr("src", s), e && -1 == e.code ? $(".singin .singbtn").text("签到") : 0 == e.code && $(".singin .singbtn").text("已签到")
            }
        }), ($.browser.iPad || $.browser.iPhone || $.browser.andorid) && Spirit.userLogin.cssRevise()
    }, C = function () {
        var t = $(".j_user_bar"), i = t.find(".H-play .t-i");
        i.length && (x(i), i.data("ub_pop_type", "userinfo"), $(".H-play .t-p, .H-play .t-v").hide(), $(".H-play iframe").hide(), $(".H-play").show().find(".t-i").css("z-index", 301).show(), $(".j-speed").hide(), e ? e.show() : (e = d.iframeCover($(".H-play .t-i")), e.show()))
    }, x = function (t) {
        t.length && t.parents(".H-play").siblings(".j-ub-pop").each(function (t, e) {
            var i = $(e);
            i.is(":visible") && (i.hide(), i.data("ub_pop_type", ""), i.next("iframe").hide())
        })
    };
    l.addEvent("loginSuccess", function (t) {
        E(), y(), h.loginDialog && ($.browser.msie ? h.loginDialog.hideIframe() : h.loginDialog.dispose()), $(".user-login").hide().html(""), m()
    }), $(function () {
        Ker.on("send-stat", function (t) {
            Ker.data(t)
        })
    }), window.Spirit.userLogin = h
}(), function () {
    var t = {
        read: function (t, e) {
            if ("meta" == t)for (var i = document.getElementsByTagName("meta"), n = 0, a = i.length; a > n; n++) {
                var o = i.item(n);
                if (o.name == e)return o.content
            } else if ("data" == t) {
                var r = LETV.cookie("newVideo");
                if (r) {
                    r = LETV.json(r);
                    for (var s in r)if (e == s)return {data: r, item: r[s]};
                    return {data: r, item: null}
                }
            }
            return null
        }, playPageDisplay: function (t) {
            t && t.item && t.item > 0 && ($(".H-seat .num").css("display", "block").on("click", function () {
                $(".H-seat .num").css("display", "none")
            }), $(".js_currentChannel .js_data").html(t.item)), $(".js_channelList [data-channel]").each(function (e, i) {
                var n = $(i).attr("data-channel");
                t && t.data[n] && t.data[n] > 0 && $(i).find("em").html("(" + (Math.abs(t.data[n]) > 999 ? "999+" : Math.abs(t.data[n])) + ")")
            })
        }, indexPageDisplay: function () {
            var t = this.data;
            $.each(t, function (e, i) {
                t[e] > 0 && ($("#index_newVideoCount_" + e).css("display", "block").css("visibility", "visible").find(".n-c").html(t[e] > 999 ? "999+" : t[e]), $("#index_newVideoCount_" + e).on("click", function (t) {
                    $("#index_newVideoCount_" + e).css("display", "none")
                }), $("#index_newVideo_" + e).on("click", function (t) {
                    $("#index_newVideoCount_" + e).css("display", "none")
                }))
            })
        }, check: function () {
            var t = this.read("meta", "pageInfo");
            if (null != t) {
                t = t.split("|");
                var e = this.read("data", t[2]);
                -1 != t[0].indexOf("播放页") || (-1 != t[0].indexOf("乐视首页") ? this.indexPageDisplay(e) : -1 != t[0].indexOf("频道首页") && e && e.item > 0 && (e.data[t[2]] = "-" + e.data[t[2]], this.upData(e.data)))
            }
        }, upData: function (t) {
            var e = new Date, i = new Date(e.getFullYear(), e.getMonth(), e.getDate(), 23, 59, 59);
            LETV.cookie("newVideo", LETV.json.toJSON(t), {
                path: "/",
                domain: LETV.CONSTANT.otherCookie.LETV_COM,
                expires: i
            })
        }, getData: function () {
            if ("https:" !== document.location.protocol) {
                var t = this;
                $.getJSON("http://" + LETV.CONSTANT.host.V_STAT_LETV_COM + "/vplay/getChannelVideoTotal?callback=?", function (e) {
                    t.data = e, t.upData(e), t.check()
                })
            }
        }, masklayer: function (t) {
            var e = {
                position: t.css("position"),
                width: t.css("width"),
                height: t.css("height"),
                top: t.css("top"),
                left: t.css("left"),
                "z-index": parseInt(t.css("z-index")) - 1
            }, i = $('<iframe src="about:blank" style="border-style:none;" frameborder="0"></iframe>');
            return t.after(i.css(e)), i
        }, init: function () {
            var t = this;
            this.data = LETV.cookie("newVideo"), this.data && this.data.length > 0 && (this.data = LETV.json(this.data)), null == this.data || "" == this.data ? this.getData() : this.check();
            var e;
            e = {channelList: "", sortList: ""};
            var i = window.location.href.split("?")[0];
            i != "http://" + LETV.CONSTANT.host.MY_LETV_COM + "/setting/index" && i != "http://" + LETV.CONSTANT.host.MY_LETV_COM + "/" && i != "http://" + LETV.CONSTANT.host.MY_LETV_COM + "/setting/icon/" && i != "http://" + LETV.CONSTANT.host.MY_LETV_COM + "/setting/password/" && i != "http://" + LETV.CONSTANT.host.MY_LETV_COM + "/setting/mail/" && i != "http://" + LETV.CONSTANT.host.MY_LETV_COM + "/setting/phone/" && i != "http://" + LETV.CONSTANT.host.MY_LETV_COM + "/setting/security/" && (i = "http://" + LETV.CONSTANT.host.MY_LETV_COM + "/");
            var n = '<div class="country"><ul><li><a href="' + i + '?language=zh-HK">香港站</a></li><li><a href="' + i + '?language=en-US">Global Home</a></li></ul></div>', a = {
                channelListOpen: function () {
                    $(".seat-list").removeClass("active").addClass("hover"), "UCenter" == __INFO__.type ? ($(".country").length || $(".js_channelList").before(n), $(".country").show()) : ($(".js_channelList").css("display", ""), t.channelListLayer ? t.channelListLayer.css("display", "") : t.channelListLayer = t.masklayer($(".js_channelList"))), clearTimeout(e.channelList)
                }, channelListClose: function () {
                    e.channelList = setTimeout(function () {
                        $(".seat-list").removeClass("hover"), t.channelListLayer && t.channelListLayer.css("display", "none"), "UCenter" == __INFO__.type ? $(".country").css("display", "none") : $(".js_channelList").css("display", "none")
                    }, 300)
                }, sortListOpen: function () {
                    clearTimeout(e.sortList), $(".seat-list").removeClass("hover").addClass("active"), $(".js_sortList").css("display", ""), t.sortListLayer ? t.sortListLayer.css("display", "") : t.sortListLayer = t.masklayer($(".js_sortList"))
                }, sortListClose: function () {
                    e.sortList = setTimeout(function () {
                        $(".seat-list").removeClass("active"), t.sortListLayer && t.sortListLayer.css("display", "none"), $(".js_sortList").css("display", "none")
                    }, 300)
                }
            };
            $(".js_sortList").css("z-index", 3e3), $(".js_channelList").css("z-index", 3e3);
            var o, r;
            $(".js_currentChannel").on({
                mouseenter: function () {
                    clearTimeout(r), t.sortListLayer && t.sortListLayer.css("display", "none"), $(".js_sortList").css("display", "none"), Stats.sendAction({
                        acode: "41",
                        ap: "ch=www&pg=play_v1&bk=topNav&link=navbox_exposure"
                    }), a.channelListOpen()
                }, mouseleave: function () {
                    clearTimeout(o), r = setTimeout(function () {
                        a.channelListClose()
                    }, 100)
                }, click: function () {
                    $(".H-seat .num").css("display", "none")
                }
            }), $(".js_channelList").on({
                mouseenter: function () {
                    clearTimeout(r), t.sortListLayer && t.sortListLayer.css("display", "none"), $(".js_sortList").css("display", "none"), a.channelListOpen()
                }, mouseleave: function () {
                    a.channelListClose()
                }
            }), $(".js_channelList").on("mousedown", "ul li", function () {
                Stats.sendAction({acode: "0", ap: "ch=www&pg=play_v1&bk=topNav&link=navbox_click"})
            }), $(".country").live({
                mouseenter: function () {
                    clearTimeout(r), a.channelListOpen()
                }, mouseleave: function () {
                    a.channelListClose()
                }
            }), $(".js_sortMore").on({
                mouseenter: function () {
                    o = setTimeout(function () {
                        t.channelListLayer && t.channelListLayer.css("display", "none"), $(".js_channelList").css("display", "none"), a.sortListOpen()
                    }, 300)
                }, mouseleave: function () {
                    clearTimeout(o), a.sortListClose()
                }
            }), $(".js_sortList").on({
                mouseenter: function () {
                    clearTimeout(r), t.channelListLayer && t.channelListLayer.css("display", "none"), $(".js_channelList").css("display", "none"), a.sortListOpen()
                }, mouseleave: function () {
                    a.sortListClose()
                }
            }), IE6 && ($(".js_channelList dl").each(function (t, e) {
                $(e).on({
                    mouseenter: function () {
                        $(e).addClass("active")
                    }, mouseleave: function () {
                        $(e).removeClass("active")
                    }
                })
            }), $(".js_sortList li").each(function (t, e) {
                $(e).on({
                    mouseenter: function () {
                        $(e).addClass("active")
                    }, mouseleave: function () {
                        $(e).removeClass("active")
                    }
                })
            }))
        }
    };
    $(function () {
        t.init()
    })
}(), function (t) {
    t.drawer = function (t) {
        $(t).each(function (t, e) {
            var i = {
                show: function () {
                    this.$hiddenEl.show()
                }, hide: function () {
                    this.$hiddenEl.hide()
                }, showDelay: 100, delay: 100, isSwitch: !1
            };
            $.extend(i, e);
            var n = 0, a = 0, o = 0, r = 0;
            i.isSwitch && i.$showEl.parent().on("mouseenter", function () {
                r = 1
            }).on("mouseleave", function () {
                r = 0
            }), i.$showEl.on("mouseenter", function () {
                r ? (i.$hiddenEl.siblings(":visible").hide(), i.$hiddenEl.is(":hidden") && i.show()) : (clearTimeout(a), clearTimeout(o), n = setTimeout(function () {
                    i.$hiddenEl.is(":hidden") && i.show()
                }, i.showDelay || i.delay))
            }).on("mouseleave", function () {
                clearTimeout(n), a = setTimeout(function () {
                    i.$hiddenEl.is(":hidden") || i.hide()
                }, i.delay)
            }), i.$hiddenEl.on("mouseenter", function () {
                clearTimeout(a), clearTimeout(o)
            }).on("mouseleave", function () {
                o = setTimeout(function () {
                    i.hide()
                }, i.delay)
            })
        })
    }
}(LETV.using("UI")), LETV.define = function (t) {
    function e() {
    }

    var i, n, a, o = t.constructor || e, r = t.extend, s = t.implement, l = t.mixin;
    if (r) {
        var c = r.prototype;
        i = function () {
            var t = this;
            this.$super = {};
            for (a in c)"function" == typeof c[a] ? this.$super[a] = function (e) {
                return function () {
                    return e.apply(t, arguments)
                }
            }(c[a]) : this.$super[a] = c[a];
            r.apply(this, arguments), o.apply(this, arguments)
        }, e.prototype = c, i.prototype = new e, delete t.extend
    } else i = o;
    n = i.prototype, delete t.constructor, delete t.implement, delete t.mixin;
    for (a in t)t.hasOwnProperty(a) && (n[a] = t[a]);
    if (l)for (a in l)l.hasOwnProperty(a) && "undefined" == typeof n[a] && (n[a] = l[a]);
    if (n.constructor = i, s)for (var d, u = s.length; u--;) {
        d = s[u];
        for (a in d)if ("function" != typeof n[a] && d.hasOwnProperty(a))throw"NOT implement the function [" + a + "]!"
    }
    return i
}, function (t) {
    var e = LETV.define({
        constructor: function (t) {
            t = t || {};
            for (var e in t)this[e] = t[e]
        },
        cont: "",
        title: "",
        height: 200,
        width: 400,
        boxClass: "ui_window",
        zIndex: 100,
        alignX: "center",
        valignY: "middle",
        mask: .1,
        iframe: 1,
        shadow: 0,
        drag: 0,
        timeout: 0,
        init: function () {
            var t = this;
            if (!t.cont || 0 == t.cont.length) {
                t.cont = $('<div class="' + t.boxClass + '"></div>'), $("body").append(t.cont), t.cont.css("z-index", t.zIndex + 1);
                var e = '<div class="ui_pop_box" style="width:' + t.width + 'px;">';
                t.title && t.title.length > 0 && (e = e + '<div  class="ui_pop_head"><div class="ui_pop_head_tit">' + t.title + "</div></div>"), e = e + '<div class="ui_pop_head_btn_close j-close"></div><div class="ui_pop_body"><div class="j-content"></div><div class="input_button_box j-buttons"> </div></div></div><div style=" width:' + (t.width + 22) + "px; height:" + (t.height + 22) + 'px;" class="ui_pop_mask"></div>', t.cont.html(e), t.title && t.title.length > 0 ? t.cont.find(".ui_pop_body").css("height", t.height - t.cont.find(".ui_pop_head").height()) : t.cont.find(".ui_pop_body").css("height", t.height - 22)
            }
            0 != t.mask && (t.Mask || (t.Mask = $('<div style="display:none;"></div>').css({
                background: "none repeat scroll 0 0 #000000",
                opacity: t.mask,
                overflow: "hidden",
                width: "100%",
                position: "absolute",
                top: "0px",
                left: "0px",
                zIndex: t.zIndex
            }), t.iframe && t.Mask.html('<iframe style="position:absolute;width:100%;height:100%;filter:alpha(opacity=0);opacity=0;border-style:none;"></iframe>'), t.cont.after(t.Mask))), t.iframe ? t.Shadow && (t.Shadow.css("z-index", t.zIndex), t.cont.after(t.Shadow), t.shadow = !0) : t.shadow && !t.Shadow && (t.Shadow = $('<iframe style="background:none repeat scroll 0 0 #ffffff;overflow:hidden;position:absolute; z-index:' + t.zIndex + ';width:100%;height:100%;border-style:none;"></iframe>'), t.cont.after(t.Shadow)), t.setPos(), 1 != t.keyDown && t.keyDown(), t.Drag(t.drag), t.setContent(), t.setBtnsContent(), t.cont.find(".j-close").on("click", function () {
                t.hide(), t.onClose && t.onClose()
            })
        },
        show: function () {
            var t = this;
            if (t.resize().setPos(), t.cont.fadeIn("fast"), t.Mask && t.Mask.show(), t.Shadow && t.Shadow.show(), 0 != t.timeout) {
                setTimeout(function () {
                    t.hide()
                }, t.timeout)
            }
            $.isFunction(t.onShow) && t.onShow.call(t, t)
        },
        hide: function () {
            var t = this;
            t.cont.hide(), t.Mask && t.Mask.hide(), t.Shadow && t.Shadow.hide(), $(document).off("mousemove"), $(document).off("mouseup"), t.onHide && $.isFunction(t.onHide) && t.onHide.call(t, t)
        },
        remove: function () {
            this.cont.remove(), this.Mask && this.Mask.remove(), this.Shadow && this.Shadow.remove()
        },
        keyDown: function () {
            var t = this;
            $(document).keydown(function (e) {
                e = e || event, 27 == e.keyCode && t.hide()
            })
        },
        resize: function () {
            var t = this.cont;
            return this.Shadow && this.Shadow.css({
                position: "absolute",
                width: t.outerWidth(),
                height: t.outerHeight(),
                left: t.position().left,
                top: t.position().top
            }), this.Mask && this.Mask.height($(document).height()), this.height = t.height(), this
        },
        setPos: function () {
            var t = this, e = t.cont, i = $(window), n = t.alignX, a = t.valignY, o = "absolute";
            return $.browser.msie && "6.0" === $.browser.version ? (o = "absolute", "left" === n ? n = i.scrollLeft() : "center" === n ? n = (i.width() - t.width) / 2 + i.scrollLeft() : "right" === n && (n = i.width() - t.width - 22 + i.scrollLeft()), "top" === a ? a = i.scrollTop() : "middle" === a ? a = (i.height() - t.height) / 2 + i.scrollTop() : "bottom" === a && (a = i.height() - t.height - 22 + i.scrollTop())) : (1 != t.fix && (o = "fixed"), "left" === n ? n = 0 : "center" === n ? n = (i.width() - t.width) / 2 : "right" === n && (n = i.width() - t.width - 22), "top" === a ? a = 0 : "middle" === a ? a = (i.height() - t.height) / 2 : "bottom" === a && (a = i.height() - t.height - 22)), a = a > 0 ? a : 0, n = n > 0 ? n : 0, e.css({
                visibility: "visible",
                width: t.width,
                position: o,
                top: a,
                left: n,
                "z-index": t.zIndex + 1
            }), t.shadow && shadow.css({
                position: o,
                top: a,
                left: n,
                width: e.outerWidth(),
                height: e.outerHeight()
            }), this
        },
        setContent: function (t) {
            var e = this, i = e.cont.find(".j-content"), n = t || e.content;
            0 != i.length && ("string" == typeof n ? i.html(n) : i.append(n.show()))
        },
        setBtnsContent: function () {
            var t = this;
            return t.btnContent && this.cont.find(".j-buttons").html(t.btnContent), this
        },
        Drag: function (t) {
            if (0 != t) {
                var e, i, n = !1, a = $(window), o = this, r = o.cont, s = r.find(".ui_pop_head");
                s.bind("mousedown", function (t) {
                    $(".ui_pop_box:visible").length > 0 && (n = !0, e = t.pageX - parseInt(r.css("left"), 10), i = t.pageY - parseInt(r.css("top"), 10), s.css({cursor: "move"}))
                }), $(document).bind("mousemove", function (o) {
                    if (n && r.length > 0 && t) {
                        r.fadeTo(0, 1);
                        var s = o.pageX - e, l = o.pageY - i;
                        0 > s && (s = 0), s > a.width() - r.width() && (s = a.width() - r.width() - 2), 0 > l && (l = 0), l > a.height() - r.height() && (l = a.height() - r.height() - 2), r.css({
                            top: l,
                            left: s
                        })
                    }
                }).bind("mouseup", function () {
                    $(".ui_pop_box:visible").length > 0 && t && (n = !1, r.fadeTo(0, 1), s.css({cursor: "auto"}))
                })
            }
        }
    });
    LETV.UI.Box = e
}(LETV.using("UI")), function (t) {
    var e = LETV.define({
        extend: LETV.UI.Box, constructor: function (t) {
            t = t || {};
            for (k in t)this[k] = t[k]
        }, title: "消息提示", _onOk: function () {
            this.hide(), this.onOk && this.onOk()
        }, setBtnContent: function (t, e) {
            return this.cont.find(".j-sure").val(t), e && e.length > 0 && this.cont.find(".j-sure").on("click", function () {
                window.location.href = e
            }), this
        }, setContent: function (t) {
            var e = this, i = t ? t : e.content, n = e.cont.find(".j-content"), a = e.cont.find(".j-buttons");
            return "string" == typeof i ? n.html(i) : n.append(e.content.show()), a.html('<input type="button" class="j-sure" value="确定">'), e.cont.find(".j-sure").on("click", function () {
                e._onOk()
            }), this
        }
    });
    t.Alert = function (t, i) {
        var n = t;
        "string" == typeof t && (n = {content: t, title: i || "消息提示"});
        var a = new e(n);
        return a.init(), a
    }
}(LETV.using("UI")), function (t) {
    var e = LETV.define({
        extend: LETV.UI.Box, constructor: function (t) {
            t = t || {};
            for (k in t)this[k] = t[k]
        }, title: "消息提示", cancel: function () {
            var t = this;
            t.hide(), "" != t.onCancel && $.isFunction(t.onCancel) && t.onCancel.call(t, t)
        }, submit: function () {
            var t = this;
            "" != t.onOk && $.isFunction(t.onOk) && t.onOk.call(t, t)
        }, setContent: function (t) {
            var e = this, i = e.cont.find(".j-content"), n = t ? t : e.content;
            return "string" == typeof n ? i.html(n) : i.append(n.show()), e.cont.find(".j-submit").on("click", function () {
                e.submit()
            }), e.cont.find(".j-cancel").on("click", function () {
                e.cancel()
            }), this
        }
    });
    t.Confirm = function (t, i) {
        var n = t;
        "string" == typeof t && (n = {content: t, onSubmit: i});
        var a = new e(n);
        return a.init(), a
    }
}(LETV.using("UI")), LETV.using("Util").enterLeave = function (t, e, i, n, a) {
    var o = null, r = 0, s = 0;
    i = i || function () {
        }, n = n || function () {
        }, a = a || 0, t.on("mouseover", function (t) {
        clearTimeout(s);
        var l = t.target;
        r = setTimeout(function () {
            if (!o || !$.contains(o[0], l)) {
                var t = $(l).parents(e);
                t.length ? (o && n(o), i(t), o = t) : o && (n(o), o = null)
            }
        }, a)
    }), t.on("mouseout", function () {
        clearTimeout(r), s = setTimeout(function () {
            o && (n(o), o = null)
        }, a)
    })
}, function () {
    var t = {
        get: function (t, e) {
            var i = this, n = LETV.cookie("le_time");
            if (n) {
                var a = Math.floor((new Date).getTime() / 1e3) + parseInt(n);
                t(a, !1)
            } else {
                var o = Math.round(Math.random());
                1 == o ? i.update(t, e) : t(Math.floor((new Date).getTime() / 1e3), !1)
            }
        }, update: function (t, e) {
            var i = !1, n = 0;
            $.ajax({
                url: "http://" + LETV.CONSTANT.host.API_LETV_COM + "/time?callback=?",
                dataType: "json",
                beforeSend: function () {
                    n = setTimeout(function () {
                        i = !0, t(Math.floor((new Date).getTime() / 1e3), !1)
                    }, e || 1e3)
                },
                success: function (e) {
                    if (!i && (clearTimeout(n), e)) {
                        var a = e.stime - Math.floor((new Date).getTime() / 1e3);
                        LETV.cookie("le_time", a, {
                            expires: 1,
                            domain: "." + LETV.CONSTANT.otherCookie.LETV_COM,
                            path: "/"
                        }), t(e.stime, !0)
                    }
                }
            })
        }
    };
    LETV.using("Util").timeService = t
}(), function () {
    var t = function (t) {
        s = t % 60, s < 10 && (s = "0" + s);
        var e = Math.floor(t / 60);
        return min = parseInt(e) % 60, 10 > e ? "0" + min + ":" + s : e > 60 ? (h = Math.floor(e / 60), h < 10 && (h = "0" + h), min < 10 ? h + ":0" + min + ":" + s : h + ":" + min + ":" + s) : min + ":" + s
    };
    LETV.using("Util").formatDate = function (e, i, n) {
        var a, o, r, s, l, c, d = 946684800, u = function (t) {
            a = t.getFullYear(), o = t.getMonth() + 1, r = t.getDate(), s = t.getHours(), l = t.getMinutes(), c = t.getSeconds(), n || (o = 10 > o ? "0" + o : o, r = 10 > r ? "0" + r : r, s = 10 > s ? "0" + s : s, l = 10 > l ? "0" + l : l, c = 10 > c ? "0" + c : c), i = i.replace("yyyy", a).replace("MM", o).replace("dd", r).replace("hh", s).replace("mm", l).replace("ss", c)
        };
        return "object" == typeof e ? u(e) : "number" == typeof e ? d > e ? i = t(e) : u(new Date(1e3 * e)) : "string" == typeof e && (e = e.replace(/-/gi, "/"), new Date(e).getTime(), u(new Date(Date.parse(e)))), i
    }, LETV.using("Util").getDuration = function (e) {
        return t(e)
    }
}(), !function (t) {
    var e = window.__INFO__ || {}, i = e.video || {}, n = encodeURIComponent, a = {
        acode: "0",
        ap: "-",
        ar: "0",
        cid: i.cid || "-",
        pid: i.pid || "-",
        vid: i.vid || "-",
        uid: t.UID || "-",
        uuid: t.getUUID(),
        lc: "-",
        cur_url: n(window.location.href),
        auid: "-",
        ilu: t.UID ? "0" : "1",
        targeturl: "-",
        ver: t.VER,
        p1: t.P1,
        p2: t.P2
    }, o = t.getCookie("tj_lc");
    o ? a.lc = o : LocalStore.ready(function () {
        a.lc = t.getLC()
    }), t.sendAction = function (e) {
        e || (e = {});
        var i, o = t.data || {}, r = [];
        for (i in o)o.hasOwnProperty(i) && (a[i] = n(o[i]));
        for (i in e)e.hasOwnProperty(i) && r.push(i + "=" + n(e[i]));
        for (i in a)!e.hasOwnProperty(i) && a.hasOwnProperty(i) && r.push(i + "=" + a[i]);
        r.push("r=" + Math.random());
        try {
            var s = "IMG_" + String(Math.random()), l = window[s] = new Image(1, 1);
            l.onload = function () {
                l = window[s] = null
            }, l.src = t.api_op + r.join("&"), setTimeout(function () {
            }, 1e3)
        } catch (c) {
            c.code = "STATS-OP-01", console.log(c)
        }
    }
}(Stats), Ker.on("send-sum-stat", function (t) {
    var e = t.getAttribute("data-sum-stat");
    e && LETV.Utils.sendStat("http://" + LETV.CONSTANT.host.DC_LETV_COM + "/s/?k=" + e)
}), Ker.on("send-click-stat", function (t) {
    var e = t.getAttribute("data-click-stat"), i = t.getAttribute("data-href");
    e && Stats.sendAction({ap: e, targeturl: i || t.href || "-"}), i && setTimeout(function () {
        window.location.href = i
    }, 1e3)
}), Stats.bindExposure || function () {
    var t = require("air/util/ScrollTrigger");
    Stats.bindExposure = function () {
        $(".j-exposure-stat").each(function () {
            var e = $(this), i = e.attr("data-statectn");
            i && t.add({
                point: e, offsetY: e.attr("data-exposure-offsetY") || 0, handler: function () {
                    Stats.sendAction({acode: "41", ap: i.indexOf("=") > 0 ? i : "area=" + i})
                }
            }), e.removeClass("j-exposure-stat"), e = null
        })
    }, $(function () {
        Stats.bindExposure()
    })
}(), Spirit.Util || (Spirit.Util = {}), Spirit.Util.imageDelay || $(function () {
    var t = [], e = $(window), i = $.browser.iPad || $.browser.iPhone || $.browser.andorid, n = function (t) {
        return "fast" == t ? 500 : t && NaN != parseInt(t) ? t : 300
    };
    $("img[data-src]").each(function () {
        this.loaded = !1;
        var e = n();
        t.push({dom: $(this), distance: e})
    });
    var a = function (t) {
        t[0].loaded || (t.attr("src", t.attr("data-src")), t[0].loaded = !0)
    }, o = function (t) {
        t[0].loaded || $("<img />").on("load", function () {
            t.attr("src") != t.attr("data-src") && t.hide().attr("src", t.attr("data-src")).fadeIn("slow"), t[0].loaded = !0
        }).attr("src", t.attr("data-src"))
    }, r = function () {
        for (var n, r = t.length, s = 0; r > s;) {
            n = t[s];
            var l = n.dom.offset().top, c = e.scrollTop();
            e.height() + c + n.distance > l && c < l + n.dom.height() + n.distance ? (i ? a(n.dom) : o(n.dom), t.splice(s, 1), r--) : s++
        }
        r || e.off("scroll.imgLazyload")
    }, s = function (e, i) {
        var a = $(e);
        0 != a.length && (i = n(i), a.each(function () {
            this.loaded = !1, t.push({dom: $(this), distance: i})
        }), r())
    };
    i ? setTimeout(function () {
        r()
    }, 800) : r(), e.on("scroll.imgLazyload", r), Spirit.Util.imageDelay = s
}), LTK["air/string/parseJSON"] = function () {
    return function (t) {
        try {
            return new Function("return " + t)()
        } catch (e) {
            return console.log(e), null
        }
    }
}, Stats.sendRecClick = function (t) {
    var e = require("air/string/parseJSON")(t.getAttribute("data-info"));
    e && (e.acode = "17"), Stats.sendAction(e)
}, Ker.on("rec-stat", function (t, e) {
    ("a" === e.nodeName.toLowerCase() || $(e).parents("a").length) && Stats.sendRecClick(t)
}), Ker.on("rec-stat-any", function (t) {
    Stats.sendRecClick(t)
}), Stats.sendRecView = function (t, e) {
    e && (e.acode = "19");
    var i = require("air/util/ScrollTrigger");
    i.add({
        point: $(t).offset().top, handler: function () {
            Stats.sendAction(e)
        }
    })
}, LETV.using("App.Play");